mysql 几阶b树_在学到MySQL索引时,涉及到了B树和B+树.聊一聊

本文介绍了B树和B+树的概念、插入与删除操作,对比了两者之间的区别。B树适合多路平衡查找,每个节点包含数据与索引,而B+树的所有数据存储在叶子节点,且叶子节点之间有指针连接,更适合数据库索引,降低了IO次数,提供稳定的查询性能。
摘要由CSDN通过智能技术生成

1 B 树

在介绍 B + 树之前, 先简单的介绍一下 B 树,这两种数据结构既有相似之处,也有他们的区别,最后,我们也会对比一下这两种数据结构的区别。

1.1 B 树概念

B 树也称 B - 树, 它是一颗多路平衡查找树。二叉树我想大家都不陌生,其实,B 树和后面讲到的 B + 树也是从最简单的二叉树变换而来的,并没有什么神秘的地方,下面我们来看看 B 树的定义。

每个节点最多有 m-1 个关键字(可以存有的键值对)。

根节点最少可以只有 1 个关键字。

非根节点至少有 m/2 个关键字。

每个节点中的关键字都按照从小到大的顺序排列,每个关键字的左子树中的所有关键字都小于它,而右子树中的所有关键字都大于它。

所有叶子节点都位于同一层,或者说根节点到每个叶子节点的长度都相同。

每个节点都存有索引和数据,也就是对应的 key 和 value。

所以,根节点的关键字数量范围:1 <= k <= m-1,非根节点的关键字数量范围:m/2 <= k <= m-1。

另外,我们需要注意一个概念,描述一颗 B 树时需要指定它的阶数,阶数表示了一个节点最多有多少个孩子节点,一般用字母 m 表示阶数。

我们再举个例子来说明一下上面的概念,比如这里有一个 5 阶的 B 树,根节点数量范围:1 <= k <= 4,非根节点数量范围:2 <= k <= 4。

下面,我们通过一个插入的例子,讲解一下 B 树的插入过程,接着,再讲解一下删除关键字的过程。

1.2 B 树插入

插入的时候,我们需要记住一个规则:判断当前结点 key 的个数是否小于等于 m-1,如果满足,直接插入即可,如果不满足,将节点的中间的 key 将这个节点分为左右两部分,中间的节点放到父节点中即可。

例子:在 5 阶 B 树中,结点最多有 4 个 key, 最少有 2 个 key(注意:下面的节点统一用一个节点表示 key 和 value)。

插入 18,70,50,40

a95e61e00163108d34aa5382ff9393d4.png

插入 22

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值