跳转到内容
唯一赫兹
返回

从数据页的角度看 B+ 树

数据页的结构

数据页是如何存储记录的?

页目录对记录的索引

页目录如何加速查找?

避免槽位的索引失效

如果槽位内的记录过多会导致性能退化为单向链表的 O(N)O(N),通过以下限制避免索引失效

  1. 第一个分组内只能有一条最小记录
  2. 最后一个分组只能you 1~8 条记录
  3. 其他分组只能有 4~8 条记录

B+树中的数据页

B+树是如何进行查询的?

B+树中每个节点都是数据页,从根节点到叶子节点,每一层都通过二分法找到目标记录在哪一个数据页中 以在上图中查找主键为 6 的记录为例:

  1. 6 在 1~7 之间,读取页 30
  2. 6 在 5 之上,读取页 16
  3. 在叶子节点(页 16)中二分找到记录所在槽位,遍历对应分组内的记录找到目标记录


上一篇
MySQL 查询慢的原因
下一篇
MySQL 不同存储引擎之间的区别