面试题:为什么MySQL使用B+树?

本文深入探讨了MySQL为何选择B+树作为索引结构,详细介绍了B树和B+树的概念、构建过程、优缺点,以及它们在数据库查询中的应用,有助于理解数据库索引的工作原理。
摘要由CSDN通过智能技术生成

MySQL的索引结构使用的是B+树,因而B+树是大厂面试的高频题。
B树

  • B树的概念
    B树又称为B-树,是一种平衡多路查找树,描述B树,一般需要指定其阶数M,阶数指的是一个节点包含的子节点最大数量。当M取2时,即为常见的二叉树。

    其有如下性质:

    • 每个节点最多有 M - 1 个关键字
    • 除根节点外,其余的节点至少有ceil(M/2)-1个关键字(ceil为向上取整函数)
    • 每个节点中的关键字都按照从小到大的顺序排列,每个关键字的左子树中的所有关键字都小于它,而右子树中的所有关键字都大于它
    • 所有叶子节点都位于同一层,或者说根节点到每个叶子节点的长度都相同
  • B树的插入操作
    1.找到关键字的插入位置,一定时叶节点位置,进行插入操作
    2.插入后,如果当前节点的关键字数量小于等于M - 1,则结束,否则执行步骤3
    3.进行分裂操作,当前节点按中间关键字分裂成三部分,中间关键字插入到父节点中,左边部分,称为中间关键字的左节点,右边部分称为中间关键字的右节点,然后当前节点指向父节点,转到2,递归执行操作。

  • B树的构建过程
    下面以构建一个5阶树为例,介绍B树构建过程

    • 依次插入关键字3, 5, 2, 6
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值