简简单单了解一下B+Tree和B-Tree

简介: 1)B+Tree是B-Tree的改进版本,同时也是数据库索引索引所采用的存储结构。

(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区别:



  1. 非叶子节点只存储键值信息。
  2. 所有叶子节点之间都有一个链指针。
  3. 数据记录都存放在叶子节点中。
目录
相关文章
|
1月前
|
存储 算法
树(Tree) - 概念与基础
树(Tree) - 概念与基础
20 2
|
1月前
|
缓存 索引
图解B Tree和B+ Tree
图解B Tree和B+ Tree
33 0
|
1月前
|
定位技术 索引
R-tree 总结
R-tree 总结
12 0
|
11月前
|
存储 数据库 索引
B-Tree和B+Tree的区别及各自的优势
B-Tree和B+Tree的区别及各自的优势
253 0
|
1月前
|
存储 算法 Python
赢者树(Losers Tree)
赢者树(Losers Tree)是一种经典的数据结构,常用于外部排序(External Sorting)算法中,将多个有序的子序列合并成一个有序的序列。赢者树本质上是一棵完全二叉树,每个节点存储着一个子序列的最小值。每次合并操作时,比较各个子序列的最小值,选出最小值并将其存入输出序列中,同时将该最小值所在的节点从赢者树中删除,并将其对应的子序列的下一个元素作为新的最小值插入到赢者树中进行调整,直到所有子序列的元素都被合并完成。
38 3
|
7月前
|
存储 分布式数据库
树(Tree)和二叉树(Binary Tree)——(概念篇)
树(Tree)和二叉树(Binary Tree)——(概念篇)
42 0
|
7月前
树(Tree)和二叉树(Binary Tree)——(代码篇)
树(Tree)和二叉树(Binary Tree)——(代码篇)
49 0
|
11月前
|
存储 数据格式
1367:查找二叉树(tree_a)
1367:查找二叉树(tree_a)
|
11月前
|
存储 数据库 索引
B-Tree和B+Tree特点
B - Tree和B + Tree特点
75 0
|
数据库 索引
B-Tree, B+Tree
B-Tree, B+Tree
59 0

热门文章

最新文章