mysql数据库innodb的索引特色

innodb存储引擎使用B+树实现索引的
B+树.png
B+树不一样于B树的规则:
一、数据或者数据的指针只存放在叶子节点,非叶子节点只存储关键字
二、叶子节点中关键字由小到大排列,左叶子末尾数据会保存右叶子开始数据的指针;
因此,B+树的优势:
一、因为非叶子节点只存储关键字,能够存放的关键字大大增长,所以树的层级更少
二、查询任何一个数据都须要从叶子节点获取数据的地址,所以每次数据的查询次数彻底一致,所以查询的速度更稳定
三、叶子节点自然就是有序链表
四、全表遍历时,只须要遍历叶子节点链表便可,不须要像B树同样须要遍历每一层,性能更好
固然B树也有B+树所不具有的有点:
若是要查询的某条数据离树的根节点更近,这时查询速度比较B+树更快segmentfault