B+ 树非叶子节点上是不存储数据的,仅存储键值,而 B 树节点中不仅存储键值,也会存储数据。 InnoDB 中页的默认大小是 16KB。 如果不存储数据,那么就会存储更多的键值,相应的树的阶数(节点的子节点树)就会更大,树就会更矮更胖,如此一来我们查找数据进行磁盘的 IO 次数又会再次减少,数据查询的效率也会更快。
因为 B+ 树索引的所有数据均存储在叶子节点,而且数据是按照顺序排列的。 那么 B+ 树使得范围查找,排序查找,分组查找以及去重查找变得异常简单。