innodb存储引擎使用B+树实现索引的
B+树不同于B树的规则:
1、数据或者数据的指针只存放在叶子节点,非叶子节点只存储关键字
2、叶子节点中关键字由小到大排列,左叶子末尾数据会保存右叶子开始数据的指针;
所以,B+树的优点:
1、由于非叶子节点只存储关键字,可以存放的关键字大大增加,因此树的层级更少
2、查询任何一个数据都需要从叶子节点获取数据的地址,因此每次数据的查询次数完全一致,因此查询的速度更稳定
3、叶子节点天然就是有序链表
4、全表遍历时,只需要遍历叶子节点链表即可,不需要像B树一样需要遍历每一层,性能更好
当然B树也有B+树所不具备的有点:
如果要查询的某条数据离树的根节点更近,这时查询速度比较B+树更快
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。