B-树B+树B*树对比总结

前言

  finereportb树在学数据结构的学过,知道是二叉树,查询速度快,一般用在索引上;可是B+树,B*树是什么呢?和B树有什么关系?我们一起一探究竟。

对比

这里写图片描述

  B+树是B-树的变体,B*树又是B+树的变体,是一脉相承发展过来的,不对解决新一阶段的问题。

  B-树即B树解决的是能快速查询到指定数的问题和查询一个数出现的频率的问题。数据存在叶子结点和非叶子结点中。多路搜索的时候走的树高度不高,所以查询用的时间很短。

  B+树适合扫库,解决的是查询某一范围内的数据。它的数据只存在叶子结点,非叶子结点存的是索引,所以显而易见,B+数不适合搜索某一特定的值,因为到叶子结点的路径肯定要比B-树的非叶子结点要短。

  B*树的空间利用率高。相比B+树结点满了就建新结点的做法,B*树是先往兄弟结点中放,都放满了在开辟新的结点,创建新结点少,所以空间利用率高。

小结

  就像事务的隔离级别一样,一个级别的出现都是背负着解决上一个级别解决不了的问题的使命;B树之间也是这样,客观要求不同了,数据结构也与时俱进。在mysql中用的就是B+树的聚集索引。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值