不同的存储引擎也可能使用不同的存储结构,i如,NDB集群存储引擎内部实现使用了T-Tree结构存储这种索引,即使其名字是BTREE;InnoDB使用的是B+Tree。B-Tree通常一位这所有的值都是按顺序存储的,并且每一个叶子页道根的距离相同。下图大致反应了InnoDB索引是如何工作的。看完上面的文章就可以理解为何B-Tree索引能够快速访问数据了。那么,索引排序的规则就是按照 last_name ,first_name ,dob 的顺序来的。possible_keys:sql所用到的索引key:显示MySQL实际决定使用的键(索引)。这就是使用了索引中的所有列进行匹配,即全值匹配。匹配最左前缀例如可以用于查找last_name='aaa'的人,即用于查找姓为Zeng的人,这里只使用了索引的最左列进行匹配,即匹配最左前缀。

浅析MysQL B-Tree 索引

浅析MysQL B-Tree 索引

浅析MysQL B-Tree 索引

浅析MysQL B-Tree 索引

浅析MysQL B-Tree 索引

浅析MysQL B-Tree 索引