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)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top