深入理解mysql的innodb索引机制
什么是索引:一种数据结构,能更快的检索到需要的数据
为什么选择b+树?
链表的检索效率是:o(n),平衡二叉树的检索效率是logn,b树的检索效率是logn
b树其实是多路平衡树,在每个节点存储的关键字更多,发生的io读取次数就少,效率高,有效利用了磁盘的预读能力
b+树是b树的变种,体现在:
只有叶子节点存储数据,非叶子节点用来做索引,每个叶子节点均有指向前一个和后一个叶子的指针
综上:b+树和b树比较:
扫库和扫表能力更强(只需要遍历叶子节点就可以遍历整棵树)
查询效率更加稳定(数据均存储在叶子节点)
原创
2020-12-07 22:44:44 ·
145 阅读 ·
0 评论