B+ Tree

在这里插入图片描述
由图可以看出,B+树有以下几个特点

  • 非叶子节点的子树指针和关键字个数相同,如上图中每三个关键字都有三个子树指针
  • 非叶子节点的子树指针P[i],指向关键字值[P[i],P[i+1]]的子树,但是这个左区间的值不是固定的为P[i]的最小值,也可能是P[i]的最大值,比如图中最左侧的部分,10是P[i]的最小值,但是P[i]也可以是18,但是一定要小于P[i+1]的值
  • 非叶子节点只用来索引,数据都保存在叶子节点中
  • 所有叶子节点都有一个链指指针指向下一个叶子节点,这样就有的定位范围的能力,而不用返回上一层节点去进行查找

总结

B+Tree 更适合来用作索引

  • 磁盘读写代价更低,内部节点都是指针,如果把所有同一内部节点的关键字放在同一盘块中所能容纳的关键字数量会越多,相对来说io就降低了
  • 查询效率更加稳定,因为任何关键字的查询从根节点走向叶子节点的路,所有关键字查询的长度相同,结果就是每一条数据查询效率也几乎是相同的稳定的O(logN)
  • 更利于对数据库的扫描,B树在提高了磁盘io的同时,并没有解决元素遍历效率低下的问题,B+树只需要遍历叶子节点,就可以解决对全部关键字的扫描。所以对数据库中的范围查询有着更高的性能
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值