如果您有一个包含大量行的MySQL表,其中包含经常在WHERE
或ORDER BY
子句中使用的可变长度字段,并且很少创建INSERTS
或UPDATES
,则它在现场使用索引将是一个不错的选择。
但是,从我可以在该主题上找到的内容来看,当您以此方式对它们进行索引时,似乎MySQL不能非常快速地处理可变长度字段(与固定长度字段相比)。因此,我想知道是否应该用空字符串左填充列的行以强制将它们全部固定为某个固定的最大长度。这一点有意义吗?还是我只是在想这个?
最佳答案
查阅了更多手册后,我意识到这是MySQL中已经具备的“功能”:
CHAR列的长度固定为您声明的长度
创建表时。长度可以是0到255之间的任何值。
存储CHAR值时,将在它们之间右加空格。
指定的长度。检索CHAR值时,尾随空格为
删除。
关于mysql - 填充字段是MySQL索引的不错选择吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19185145/