当前位置: 首页 > news >正文

B+树的概念

B+树的概念

B+树(B+ Tree) 是一种多路平衡搜索树,也是 B树(B-Tree)的变体。它最大的特点是所有数据都存储在叶子节点,非叶子节点仅用于索引。这种结构使其在数据库和文件系统等需要大量磁盘 I/O 的场景中表现极其优异,是 MySQL InnoDB 等主流关系型数据库的默认索引结构。

核心特性

  1. 数据全在叶子节点:非叶子节点只存储索引键(Key)和指向子节点的指针,不存储实际数据(Data/Record)。
  2. 叶子节点形成链表:所有叶子节点通过指针(通常是双向链表)连接在一起,极大地优化了范围查询排序操作
  3. 高度平衡:从根节点到每个叶子节点的路径长度相同,保证了查询的时间复杂度稳定为 O(logN) 。
  4. 高扇出(High Fan-out):非叶子节点可以包含成百上千个子节点指针,这使得 B+树非常“矮胖”。例如,一个 3 层的 B+树就能索引上千万条数据。

B+树 vs B树:为什么数据库偏爱 B+树?

表格
 
特性B树 (B-Tree)B+树 (B+ Tree)B+树的优势
数据存储位置 所有节点都存数据 仅叶子节点存数据 非叶子节点能容纳更多索引,树更矮,减少磁盘 I/O 次数。
范围查询 需要中序遍历整棵树 只需遍历叶子节点的链表 范围查询效率极高,无需回溯父节点。
查询稳定性 最好查根节点,最差查叶子 每次都必须查到叶子节点 查询性能极其稳定,没有忽快忽慢的情况。
磁盘预读与局部性 数据分散在各层 连续数据集中在叶子层 完美契合操作系统的页缓存(Page Cache)和磁盘顺序读取机制。

时间复杂度

  • 查找、插入、删除O(logN)
  • 范围查询: O(logN+M)  ,其中 M 是结果集大小。由于叶子节点是链表,找到起点后直接顺序扫描即可。

实际应用场景

  1. 关系型数据库索引:MySQL (InnoDB), PostgreSQL, Oracle 等底层几乎全部使用 B+树。
    • 聚簇索引:叶子节点直接存放完整的行数据。
    • 非聚簇索引(二级索引):叶子节点存放主键值,查询需要“回表”。
  2. 文件系统:NTFS, ext4, ZFS 等使用 B+树或其变体来管理文件目录和元数据。
  3. NoSQL 数据库:MongoDB, Cassandra 等也广泛采用类似结构。

一个简单的 B+树示意 (阶数 m=3)

 
            [ 10 | 20 ]                <-- 根节点 (仅索引)/      |      \[5|8]    [12|15]    [22|25]      <-- 内部节点 (仅索引)/ | \    / | \      / | \[5][8] [12][15] ... [22][25]       <-- 叶子节点 (存真实数据)\_____/   \_____/    \_____/<->        <->        <->      <-- 双向链表连接

 

http://www.jsqmd.com/news/1033619/

相关文章:

  • 2026免费图片去水印工具推荐网页端、手机APP、PC软件、无广告在线本地工具全整理
  • SQL专家级数据处理学习与复习
  • 5分钟快速上手klogg:让日志分析变得像搜索网页一样简单
  • 双增强双塔模型:解决跨塔交互缺失与类目失衡的工业级推荐方案
  • Counter-Strike 2 Demo Parser终极实战指南:如何用Rust引擎挖掘CS2比赛数据金矿?
  • 2025-2026全国/一二线全屋定制售后、质保服务品牌测评,终身质保/长期售后/闭店跑路防范、时间陷阱与服务履约避坑指南
  • 深度解析:Awesome Claude Skills架构优化与高级技能开发实践
  • 从“信息搬运工”到“知识指挥官”:内容中台如何解放企业内容生产力
  • 新手机器学习避坑指南:从Excel到可解释模型的实战路径
  • Penpot云原生设计平台:基于分层抽象架构的分布式系统深度解析
  • O3N:全向开放词汇3D场景理解技术解析
  • AI核心概念探索
  • 机器学习误差四大根源与实战诊断指南
  • lazypredict深度避坑指南:自动机器学习工具的工业级使用边界
  • 从YOLOv5到YOLOv8:自动驾驶目标检测模型演进、实战对比与PySide6系统部署全解析
  • 阿贝尔群表示理论与递归函数分析
  • 30天高效突破计算机考研408:终极刷题策略与资源组合指南
  • macOS输入法极简配置:告别ABC,用搜狗实现场景化智能中英文切换
  • 17-4PH与SUS630不锈钢厂家联系方式汇总,助您快速对接优质供应商 - 品牌2026
  • [实战] 一键部署汉化版 Portainer:打造 Docker 可视化管理中心
  • 内存取证范式重构:微信数据解析的架构哲学与技术边界
  • RAG为什么会一本正经瞎编?召回这步决定生死
  • UG NX 12 草图:从零到精通的二维轮廓构建指南
  • 抖音内容批量下载:从手动收集到自动化管理的解决方案
  • 微信消息防撤回:从Xposed Hook到消息完整保护的终极方案
  • 2026行业内比较好的塑胶跑道供应商排行榜单 - 品牌排行榜
  • 2026年新消息:广州视频号推广直销企业推荐与选择指南 - 品牌鉴赏官2026
  • NXP eIQ Toolkit实战:从TensorFlow/PyTorch模型到嵌入式边缘AI的高效部署
  • 2026中走丝线切割产品推荐:技术与应用解析 - 品牌排行榜
  • 2026图形验证码攻防新格局:四类方案破解难度实测与企业选型指南