mysql的Innodb为什么使用B+树

mysql的Innodb为什么使用B+树

不同数据结构的优缺点

hash:查找快,但是不适合范围查找

有序数组:查找和范围查找都很快,但是插入就需要移动之后的所有数据

二叉树:二分查找法,会有左倾或者右倾的情况,且不适合做范围查询

平衡二叉树:避免的左倾和右倾,但是数据量大的时候,树高会很高,也就是IO次数会很多

B-Tree:相比平衡二叉树,树高是降低了,但是还是不适合范围查询,范围查询需要遍历所有数据

B+Tree:将所有数据都放到叶子节点,且叶子节点形成一个列表(可以做范围查询),非叶子节点只放键值,每个数据叶中的有效数据就多了,可以减少IO次数。

N叉树的N能调整吗?

​ N和数据页大小和key大小有关,我们可以调整数据页的大小,也可以调整key的大小,比如将普通索引设置为前缀索引。

数据页内部是一个有序数组,通过二分法查找

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值