美文网首页
B+树结构

B+树结构

作者: 数据100 | 来源:发表于2020-05-25 13:50 被阅读0次

概念

B+树是B树的扩展,是常用的数据库索引结构。

基本结构对比

在B树中,有如下特征:

  • 所有节点都存放索引和数值(Key+Value)
  • 叶子节点具有相同深度,叶节点的指针为空。
  • 所有索引元素不重复。
1.png

而B+树中,有如下不同:

  • 非叶子节点只存储索引(Key),叶子节点存放所有索引和数值(Key+Value)。
  • 叶子节点具有相同深度,并且叶子节点之间按照顺序通过指针连接。
  • 部分索引会出现重复,有冗余。
2.png

B+树的优势

  • 内部节点只存放索引,索引所占空间小,所以单个节点在相同存储空间下,比B树可以存放更多的索引(Key)。进而索引节点的子节点指针会更多(指向子节点出度会更大),或者说树结构会更宽,进而可以使树的深度更小。由于树的深度直接影响性能(时间复杂度和IO性能),所以B+树性能会更高。
  • 叶子节点按顺序通过指针连接,当需要进行数据依次访问时,能极大提高效率。
  • 维持树的平衡成本更低,因为数据都存在叶子节点上,所以都是从叶子节点进行更新/删除,比B树操作简单。
  • 其他方面,更好利用外存存储(在其他笔记里面展开)

相关文章

  • B+树结构

    概念 B+树是B树的扩展,是常用的数据库索引结构。 基本结构对比 在B树中,有如下特征: 所有节点都存放索引和数值...

  • B+树结构参考

    B+树的内部节点包括:Key键值,Index索引值B+树的叶子节点包括:Key键值,Index索引值,Data数据...

  • MySQL查询成本和范围区间

    B+树结构 我们说对于InnoDB存储引擎来说,表中的数据都存储在所谓的B+树中,我们每多建立一个索引,就相当于多...

  • MySQL数据库大森林:B树、B+树、二叉树、红黑树

    1、二叉树:每个节点最多只有两个子树的树结构 2、B树和B+树 2.1、区别 1)B+树只有叶子节点会存储指针,B...

  • 索引

    MySQL索引结构为B+树结构,与B树(又叫二叉树)结构的区别是B+树的节点中保存了多个值域和指针域,B树一个节点...

  • 树结构 之B、B+树

    B-tree树即B树,B即Balanced,平衡的意思。因为B树的原英文名称为B-tree,而国内很多人喜欢把B-...

  • MySQL InnoDB 索引结构浅析

    看图说话 聚集索引特点 B+树结构; 叶子节点存行记录数据,叶子节点初始化一页(磁盘管理单位),当一页达到装载因子...

  • 数据库索引的存储结构:B+树

      数据库索引为什么要用树结构来做存储? (InnoDB引擎使用的是B+树) 1.树的查询效率高. 2.可以保持有...

  • MySQL基础

    一、为什么用自增列作为主键 二、为什么使用数据索引能提高效率 MySql默认是B+树结构,原因是默认有主键索引。使...

  • Mysql - 索引为什么使用B+树结构

    索引较快的方式首先想到的就是二叉树,但是二叉树分布不均匀,容易形成部分链表,之后想到可以使用平衡二叉树,但是平衡二...

网友评论

      本文标题:B+树结构

      本文链接:https://www.haomeiwen.com/subject/jsryahtx.html