上一专题也说了关于B树优化索引的方法,现在再来说一下B+树来优化索引的方法。
B+树是B树的变体,其定义基本与B树相同,除了:
- 非叶子节点的子树指针与关键字个数相同。
- 非叶子节点的子树指针P[i],指向关键字值[K[i],K[i+1])的子树
- 非叶子节点只用来做索引,数据都保存在叶子节点中。
- 所有叶子节点均有一个链指针指向下一个叶子结点。
结论:
- B+树比B树能存更多的关键字,让我们通过关键字,前往叶子节点找具体的数据
- B+树可以做到比B树更矮,IO更少
- B+树的查询效率更加稳定
- B+树更加有利于对数据库的扫描。