1. 程式人生 > >MyISAM的前綴壓縮索引在索引塊中的組織方式

MyISAM的前綴壓縮索引在索引塊中的組織方式

light bsp 二分查找 分享 -a wid 技術 thum 二分

純粹自己的理解,哪位大佬看到了還請指正。

首先貼一張《高性能MySQL》中的一段話:

技術分享

這句話的意思是說,MyISAM使用b+樹組織索引。也就是說無論索引壓縮與否,組織方式一定是B+樹。

下面再貼一張圖片:

技術分享

這句話是說,因為索引塊中的索引都被壓縮成前面索引的壓縮形式了,所以在【某一個節點】中,不能再使用二分查找法查找到對應的索引或者子節點的引用,只能在【這個節點】中逐個遍歷。

在找到適合的位置的時候,則通過B+樹繼續向下尋找,由於B+樹的是[ ... )的形式,如下圖所示:

技術分享

所以,子節點中的第一個索引可以通過父節點知道,然後再在子節點中遍歷該節點中的索引,以此類推。

MyISAM的前綴壓縮索引在索引塊中的組織方式