定义
B+ 树是 B 树的一种变体,广泛应用于数据库和文件系统的索引结构。与 B 树相比,B+ 树的所有关键字都出现在叶子结点中,且叶子结点通过指针链接。
与 B 树的区别
| 特性 | B 树 | B+ 树 |
|---|---|---|
| 关键字分布 | 内部结点和叶子都有 | 仅叶子结点有完整关键字 |
| 叶子结点链接 | 无 | 有(支持顺序查找) |
| 查找 | 可能在内部结点终止 | 必须在叶子结点终止 |
| 应用场景 | 通用 | 数据库索引、文件系统 |
特点
- 支持顺序查找和随机查找
- 叶子结点形成有序链表,便于范围查询
- 内部结点只存储索引,不存储数据指针
- 更适合磁盘存储(每次读入一页/块)
应用
- 关系数据库系统的索引(如 MySQL InnoDB)
- 文件系统的目录管理