MyISAM的前缀压缩索引在索引块中的组织方式

纯粹自己的理解,哪位大佬看到了还请指正。

首先贴一张《高性能MySQL》中的一段话:

 

这句话的意思是说,MyISAM使用b+树组织索引。也就是说无论索引压缩与否,组织方式一定是B+树。

下面再贴一张图片:

 

这句话是说,因为索引块中的索引都被压缩成前面索引的压缩形式了,所以在【某一个节点】中,不能再使用二分查找法查找到对应的索引或者子节点的引用,只能在【这个节点】中逐个遍历。

在找到适合的位置的时候,则通过B+树继续向下寻找,由于B+树的是[ ... )的形式,如下图所示:

 

所以,子节点中的第一个索引可以通过父节点知道,然后再在子节点中遍历该节点中的索引,以此类推。

posted @ 2017-08-24 21:21  不吃陈皮  阅读(431)  评论(0编辑  收藏  举报