MyISAM的前缀压缩索引在索引块中的组织方式
纯粹自己的理解,哪位大佬看到了还请指正。
首先贴一张《高性能MySQL》中的一段话:
这句话的意思是说,MyISAM使用b+树组织索引。也就是说无论索引压缩与否,组织方式一定是B+树。
下面再贴一张图片:
这句话是说,因为索引块中的索引都被压缩成前面索引的压缩形式了,所以在【某一个节点】中,不能再使用二分查找法查找到对应的索引或者子节点的引用,只能在【这个节点】中逐个遍历。
在找到适合的位置的时候,则通过B+树继续向下寻找,由于B+树的是[ ... )的形式,如下图所示:
所以,子节点中的第一个索引可以通过父节点知道,然后再在子节点中遍历该节点中的索引,以此类推。