0

例如,在 varchar 数据类型上,我允许用户名的最大字符数为 25。这是否意味着最佳列是varchar(25)


编辑:这是否也意味着字符串的长度=字符串的大小?

4

2 回答 2

1

MySQL 中 VARCHAR 列的大小实际上并不那么重要!在大多数(全部?)存储引擎下,每行所需的存储量不会随着列的大小增加到最大值VARCHAR(255). 使用 aVARCHAR(256)或更大将每行使用一个额外的字节,这仍然不是很多。(此时您可能仍想考虑使用TEXT列。)

因此,请慷慨地使用您的列大小。避免将非技术限制(例如用户名中的 25 个字符的限制)硬编码到数据库中——如果您稍后改变主意,那么仅更改验证代码比更改可能非常大的表要容易得多。例如,对于用户名,我只需将列大小设置为中等荒谬的VARCHAR(64)值,以便将来扩展。只要确保,如果相同的“数据类型”(例如,用户名)出现在数据库的其他地方,您始终使用相同的大容量。

于 2012-04-29T04:21:20.177 回答
-1

或者只是 char(25) 任何一种方式。但是 varchar(25) 听起来不错。

于 2012-04-29T03:56:19.003 回答