文章目录
BTree 原理示意图
- BTree 原理示意图
- B+Tree 原理示意图
- B+Tree的树层级很少
- B+Tree 可以高效支持范围查找
注:BTree 就是 B-Tree,实际上官方并没有 B-Tree 的说法。
BTree 的数据存在每个节点中,所以每个节点能够保存的索引值很少,所以存储大量数据时,树的层级会很高,这样就导致与磁盘的 IO 交互次数增多,查找数据的效率就变得很低。
B+Tree 的数据全部保存在末端的叶子节点中,这样非叶子节点能够保存的索引值就很多,最终导致末端的叶子节点的数量非常庞大,保存2000多万条数据时,B+Tree 只要 3 层,而 BTree 则需要至少 6 层
B+Tree 可以高效支持范围查找BTree 的叶子节点之间没有双向指针,不能很好地支持范围查找;B+Tree 叶子节点之间有双向指针,从左到右的索引值是从小到大的顺序排序,可以高效支持范围的查找