【发布时间】:2011-07-21 04:58:21
【问题描述】:
我是 SQL 新手,我正在处理一个存储多人游戏帐户信息的表。我想知道存储大量数据的最有效方法是什么。
对于这三个专栏,我想,我已经想通了:
username: VARCHAR(20)
password: VARBINARY(16) for MD5-Hashes
email: VARCHAR(70)
您对此有何看法?
除此之外,还会有很多更灵活的数据(游戏存档数据),这是我无法真正预测的。将此数据作为 XML 数据保存在 TEXT 类型的字段中是否明智?还是有更好的保存方法(使用 PHP)?
谢谢。 抢
【问题讨论】:
-
对于 VARCHAR,大多数数据库使用所需的字符数加上长度。如果长度小于 255,某些数据库使用单个字节。因此,指定较小的长度不会为您带来任何好处(除非您想强制此长度)。对于密码,恕我直言,您应该使用二进制,因为它的长度不变。
-
应禁止将 XML 与标签空间效率一起提及。如果您不想将数据结构化到多个表中并关心空间,那么您应该使用不那么浪费的东西,例如,JSON。
标签: php mysql sql performance space-efficiency