索引 B树 B+树

B tree: 二叉树(Binary tree),每个节点只能存储一个数
B-tree:B树(B-Tree,并不是B“减”树,横杠为连接符,容易被误导)
B树属于多叉树又名平衡多路查找树。每个节点可以多个数(由磁盘大小决定)
B+tree 和 B*tree 都是 B-tree的变种


参考链接

数据库索引为什么使用B+树

B+树总结

B+树介绍

索引

数据库索引技术里大量使用者B树和B+树的数据结构

  • 索引往往以索引文件的形式存储的磁盘上
  • 索引查找过程中就要产生磁盘I/O消耗,评价一个数据结构作为索引的优劣最重要的指标就是在查找过程中磁盘I/O操作次数的渐进复杂度

  • B Tree / B+ Tree,经过改进可以有效的利用系统对磁盘的块读取特性,在读取相同磁盘块的同时,尽可能多的加载索引数据,来提高索引命中效率,从而达到减少磁盘IO的读取次数

B树(B-tree)

  • B-tree 利用了磁盘块的特性进行构建的树
  • 每个磁盘块一个节点,每个节点包含多个关键字
  • 把树的节点关键字增多后树的层级比原来的二叉树少了,减少数据查找的次数和复杂度
    在这里插入图片描述

B+树

  • B+ 树是 B树 的一个升级版,相对于B树来说B+树更 充分利用节点的空间
  • 数据只能存储在叶子节点,在B树的基础上每个节点存储的关键字数更多,树的层级更少所以查询数据更快
  • 每次查找的次数都相同让查询速度更加 稳定,其速度完全接近于二分法查找
    在这里插入图片描述
    在这里插入图片描述

B+树与B树的区别

有k个子结点的结点必然有k个关键码;
B+树非叶结点仅具有索引作用,跟记录有关的信息均存放在叶结点中。
B+树的所有叶结点构成一个有序链表,可以按照关键码排序的次序遍历全部记录。

比起B树,B+树 ①IO次数更少 ②查询性能很稳定 ③范围查询更简便

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值