下图有助于显示B +树和B树之间的差异。
The image below helps show the differences between B+ trees and B trees.
B +树的优势:
- 由于B +树没有与内部节点关联的数据,因此可以容纳更多的键一页的内存。因此,访问访问叶节点上的数据将需要较少的高速缓存未命中。
- B +树的叶节点已链接,因此需要对树中的所有对象进行全面扫描树只需要线性穿过所有叶节点即可。另一方面,B树需要遍历树中的每个级别。这种全树遍历可能比B +叶的线性遍历涉及更多的缓存丢失。
B树的优点:
- 因为B树包含每个键的数据,所以频繁访问的节点可以位于根附近,因此可以更快地访问。