本文主要是介绍MySQL为什么要用B+树?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
二叉树(二叉查找树)
平衡二叉树(B树就是B-树)(解决了二叉查找树的极端情况)
Q:具体是怎么解决的呢?
A:
- 树左右两边层数相差不大于1
- 一旦符合条件1的时候,就进行左旋/右旋
Q:为什么MySQL要用B+树?
A:
- B+树减少了IO次数
- 所有数据放在叶子节点,查询更稳定
- 叶子节点指向下一个叶子节点,范围查询更好
虽然平衡二叉树的查找效率很高,但是IO的次数就是树的高度(因为无法将整个索引加载道内存中),IO才是瓶颈
B树的结构
B+树的结构
//TODO
B+树的特点
- 非叶子节点存储索引,叶子节点存储数据(能存储更多的索引
这篇关于MySQL为什么要用B+树?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!