Mysql MyISAM 压缩(前缀压缩)索引

MyISAM使用前缀压缩来缩小索引,从而让更多的索引能够放入内存中达到快速索引的目的;

我们都知道innoDB存储引擎的索引维护过程中会保存完整的列值到索引节点,MyISAM则有所不同,比如我们在一个varchar列上创建了索引,保存了类似“chin”,“china”,"chinese"字符串,那么在MyISAM的索引中的节点会这样来组织

Mysql MyISAM 压缩(前缀压缩)索引_第1张图片

这样就大大的减小了索引占用的大小;

但是索引这样组织会在某些操作时导致性能降低,因为每个值的压缩前缀都依前面的值;比如order by desc,所有在块中查找某一行操作都平均需要扫描半个索引块。

你可能感兴趣的:(Mysql)