news 2026/5/26 8:37:43

MySQL的索引底层数据结构?(B+树)为什么用B+树不用B树或哈希?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MySQL的索引底层数据结构?(B+树)为什么用B+树不用B树或哈希?

1. MySQL索引的底层数据结构:B+树

核心答案:MySQL的InnoDB存储引擎默认的索引数据结构是B+树。

什么是B+树?

B+树是B树的一种变体,它专为磁盘或其他直接存取的辅助存储设备而设计。它是一种平衡的多路搜索树。

B+树的关键特性(与B树的主要区别):
非叶子节点只存储键值(索引信息),不存储实际的数据行。这使得非叶子节点可以存储更多的键,从而让树的“分叉”(阶数)更多,树的高度更低。

所有叶子节点之间通过指针连接成一个有序双向链表。这是B+树一个极其重要的特性。

所有数据记录都存储在叶子节点中,并且叶子节点中的关键字是有序的。

2. 为什么用B+树而不用B树或哈希?

哈希:最多只有两个分支 所以当数据过多时只能增加树的层高 那样就会增加IO的次数
这正是问题的精髓所在,需要从数据库的使用场景出发来分析。数据库的数据和索引通常存储在磁盘上,而磁盘I/O(读写磁盘)是计算机操作中最慢的环节之一。因此,索引设计的核心目标是减少磁盘I/O次数。

原因一:为什么B+树比B树更优?
小结:B+树在范围查询、稳定性和空间局部性上完胜B树,更适合数据库的“读多写少”和“范围查询频繁”的场景。
原因二:为什么用B+树而不用哈希表?
小结:哈希索引虽然等值查询极快,但其无法支持范围查询和排序等核心数据库操作,导致其应用场景非常有限。因此,MySQL的Memory存储引擎支持哈希索引,但默认的InnoDB引擎只会在特定情况下(如自适应哈希索引)内部使用哈希来优化等值查询。

最终结论:

MySQL选择B+树作为索引的默认数据结构,是在充分考虑了磁盘I/O效率、数据库常见操作(尤其是范围查询)、以及稳定性之后的最佳权衡。它完美地契合了数据库的“读多写少”和“频繁范围查询”的业务特点。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/26 1:11:56

FPGA基础知识(二十):Xilinx Block Memory IP核(5)--ROM 详解

《FPGA基础知识》系列导航 本专栏专为FPGA新手打造的Xilinx平台入门指南。旨在手把手带你走通从代码、仿真、约束到生成比特流并烧录的全过程。 本篇是该系列的第二十篇内容 上一篇:FPGA基础知识(十九):Xilinx Block Memory IP核…

作者头像 李华
网站建设 2026/5/26 6:51:35

ComfyUI缺少Manager?手把手教你安装

ComfyUI缺少Manager?手把手教你安装 你有没有试过兴冲冲地打开 ComfyUI,准备复现一个社区分享的炫酷工作流,结果一加载 .json 文件就弹出一堆红色警告:“Missing custom node: Impact Pack”、“Node not found: IPAdapter”………

作者头像 李华
网站建设 2026/5/26 7:18:25

Python安装opencv-python支持YOLO显示

Python安装opencv-python支持YOLO显示 在部署YOLO目标检测模型时,一个看似简单却常被忽视的关键步骤是:如何让模型的输出“看得见”。很多开发者在成功加载权重、完成推理后,却发现无法将检测框清晰地绘制在图像上——问题往往不在于模型本身…

作者头像 李华
网站建设 2026/5/26 7:32:37

TensorRT镜像部署:从Git下载到Docker安装一步到位

TensorRT镜像部署:从Git下载到Docker安装一步到位 在现代AI系统中,模型训练完成只是第一步。真正决定用户体验的,是推理阶段的响应速度与资源效率。尤其是在视频分析、自动驾驶或在线推荐这类对延迟极为敏感的应用场景下,一个“能…

作者头像 李华
网站建设 2026/5/25 10:19:00

LobeChat能否实现AI生成年终总结?年度绩效展示利器

LobeChat能否实现AI生成年终总结?年度绩效展示利器 在每年年底,无数职场人面对的一项“传统挑战”不是加班赶项目,而是如何写出一份既真实反映工作成果、又足够亮眼的年终总结。写得平淡,怕被忽视;夸大其词&#xff0c…

作者头像 李华
网站建设 2026/5/26 8:24:56

零成本搞定!2025 年免费降 AI 率实操指南:3款工具 + 5个有效方方法

论文降aigc现在绝对是大家写论文时遇到的最大拦路虎。别慌,只要掌握了正确的方法,把那些顽固的AI生成痕迹去掉,顺利通过检测其实并不难。 一、 AI检测原理 很多同学都在问:为什么我自己一个字一个字敲出来的论文,aig…

作者头像 李华