例如,在varchar数据类型上,我允许用户名的最大字符数为25.这是否意味着最佳列为varchar(25)
?
编辑:这是否也意味着字符串的长度=字符串的大小?
答案 0 :(得分:1)
MySQL中VARCHAR列的大小实际上并不重要!在大多数(全部?)存储引擎下,每行所需的存储量不会增加,因为列的大小最多为VARCHAR(255)
。使用VARCHAR(256)
或更大的每行将使用一个额外的字节,但仍然不是很多。 (此时您可能想要考虑使用TEXT
列。)
因此,对您的色谱柱尺寸要慷慨。避免将非技术限制(例如用户名中限制为25个字符)硬编码到数据库中 - 如果您稍后改变主意,更改验证代码要比更改可能非常大的表更容易。例如,对于用户名,我只是将列大小设置为像VARCHAR(64)
这样中等荒谬的东西,以便将来扩展。如果相同的“数据类型”(例如用户名)出现在数据库的其他地方,请确保一致地使用相同的大小。
答案 1 :(得分:-1)
或者只是char(25)。但varchar(25)听起来不错。