如果你有一个包含大量行的MySQL表,其中包含WHERE
或ORDER BY
子句中经常使用的可变长度字段,INSERTS
很少见或者UPDATES
,那么它将是在该领域使用索引的一个很好的候选者。
然而,从我在该主题上可以找到的内容来看,当您以这种方式索引它时,MySQL似乎不能非常快速地处理变长字段(与固定长度字段相比)。所以,我想知道是否有必要将列的行用空字符串填充,以强制所有它们达到某个固定的最大长度。这有什么意义吗?或者我只是在想这个?
答案 0 :(得分:0)
在仔细阅读了本手册之后,我意识到这是一个已经融入MySQL的“功能”:
CHAR列的长度固定为您声明的长度 当你创建表时。长度可以是0到255之间的任何值。 存储CHAR值时,它们右边用空格填充 指定长度。检索CHAR值时,尾随空格为 除去。