题
Char 很棒,因为它们的大小是固定的,因此可以使表更快。但它们的长度限制为 255 个字符。我想保存 500 个字符,但 blob 的长度是可变的,这不是我想要的。
有没有办法在 MySQL 中拥有 500 个字符的固定长度字段,或者我必须使用 2 个字符字段?
解决方案
我建议使用 varchar(500)。即使 varchar 不是固定长度,数据库也应该保留正确的空间量。使用 varchar(500) 与 2xchar(255) 相比,您不会注意到任何性能差异。
将两个 char 字段连接在一起也可能会造成额外的开销。
其他提示
我建议使用 varchar(500)
...如果您有 MySQL 5.0.3 或更高版本。在以前的版本中,VARCHAR 被限制为 255 个字符。
此外,对于尾随空格,CHAR 和 VARCHAR 的工作方式也不同。请务必阅读 10.4.1。CHAR 和 VARCHAR 类型 (这是针对 MySQL 5.0 的)。
您过于担心内部实施细节。不要预先优化。
一起去 VARCHAR(500)
不隶属于 StackOverflow