16.2.2 按键所需空间

MyISAM表使用 B 树索引。您可以将索引文件的大​​小粗略计算为 (key_length+4)/0.67,对所有键求和。这是最坏的情况,当所有键都按排序顺序插入并且表没有任何压缩键时。

字符串索引是空间压缩的。如果第一个索引部分是一个字符串,它也会被前缀压缩。VARCHAR如果一个字符串列有很多尾随空间或者是一个并不总是使用到全长的列,空间压缩会使索引文件小于最坏情况下的数字 。前缀压缩用于以字符串开头的键。如果有许多字符串具有相同的前缀,则前缀压缩会有所帮助。

MyISAM表中,您还可以通过PACK_KEYS=1在创建表时指定表选项来为压缩编号添加前缀。数字首先存储高字节,因此当您有许多具有相同前缀的整数键时,这会有所帮助。