快速上手 C++ 数据结构与算法
王健伟
《C++ 新经典》系列作者,资深 C++ 讲师
3234 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 55 讲
结束语 (1讲)
快速上手 C++ 数据结构与算法
15
15
1.0x
00:00/00:00
登录|注册

49|多路查找树:B树、B+树在数据库中的应用有何不同?

你好,我是王健伟。
B 树和 B+ 树在数据库中的应用问题是面试中常考的问题。这节课,我就带你详细分析一下这些数据结构的特点,看看怎么更好地将他们应用在数据库中。

B+ 树在数据库中的应用举例

众所周知,数据库中的数据是保存在硬盘上的。一般来说,一块硬盘由很多张盘片构成,每张盘片会被划分成从大到小的多个被称为“磁道”的同心圆,而每个磁道,又被等分为若干个段(扇形区域),这些段便被称为“扇区”。如图 1 所示。
图1 硬盘磁道、扇区、块的概念
对于常见的硬盘,磁道和扇区相交的部分称为块。这些块可以使用磁道号和扇区号进行寻址(找到该块所在的位置)。通常,一个块的存储容量是 512 字节,不过这个大小不是一定的,主要取决于硬盘制造商。512 字节也是存取磁盘信息时的最小单位。
磁盘上的数据没有办法直接被计算机处理,必须要将其读入到内存中才能由计算机处理。在内存中,数据会被正在执行的计算机程序所使用,并按照一定的数据结构进行组织。当这些数据处理完后,再将它们从内存中写回磁盘以便永久保存。
现在来看一个数据库表是如何以块的形式保存在磁盘上的。假设数据库中有一张学生信息表,该表有 4 列(字段),分别为编号、姓名、学号、地址。表中有 1000 条学生数据,如下图 2 所示。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

B+树在数据库中的应用及优势是本文的重点。文章详细介绍了B+树在MySQL数据库中的应用,通过多级索引有效减少磁盘读取次数,提高数据检索效率。结构特点包括非叶子节点只保存索引值、叶子节点使用链表相连等。与B树相比,B+树在范围查找性能和存储空间利用上具有优势。MySQL选择B+树创建表索引的原因是其更有效地管理大量数据记录,并在范围查找和存储空间利用上更为优越。读者可从中了解B+树的优势和适用场景,对数据库领域有重要参考价值。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《快速上手 C++ 数据结构与算法》
新⼈⾸单¥68
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部