(1)B+Tree
是B-Tree的改进版本,同时也是数据库索引索引所采用的存储结构。数据都在叶子节点上,并且增加了顺序访问指针,每个叶子节点都指向相邻的叶子节点的地址。相比B-Tree来说,进行范围查找时只需要查找两个节点,进行遍历即可。而B-Tree需要获取所有节点,相比之下B+Tree效率更高。
网络异常,图片无法展示
|
(2)B-Tree
B-Tree是为磁盘等外存储设备设计的一种平衡查找树。
B-Tree结构的数据可以让系统高效的找到数据所在的磁盘块。
B-Tree中的每个节点根据实际情况可以包含大量的关键字信息和分支。
缺点:B-Tree每个节点都保存数据,导致非叶子节点中能保存数据的指针变少(称为扇出),指针少又要保存大量数据则只能增加树的高度,IO操作变多,查询性能降低。
网络异常,图片无法展示
|
B+Tree相对于B-Tree区别:
- 非叶子节点只存储键值信息。
- 所有叶子节点之间都有一个链指针。
- 数据记录都存放在叶子节点中。