B树和B+树,因为几点存储的元素比较多,所以B树和B+树就是非常矮的树,树高和磁盘io的次数是成正比的,所以B树和B+树,所需要的磁盘io时间是非常少的。B树与B+树能大幅降低磁盘访问次数。B树的优点在于数据存储在每个结点中,可以更快访问到,而不必须走到叶子结点,B树更多的用在文件系统中。B+树的每个非叶子结点都只充当索引,所以查询必须到叶子结点结束,但它十分适合"扫库"和区间查找,而且因为大多结点只用于索引,所以并不会存储真正的数据,在内存上会更紧凑,相同的内存就可以存放更多的索引数据了。比如字典的拼音和汉字是分离的,只需要几十页就能得到完整的拼音表,但是如果拼音和汉字掺杂在一起,要得到完整的索引(拼音)表就需要整个字典。B+树的这些特性使得它更适合用来做数据库的索引。
相关推荐
熬夜学编程的小王1 小时前
【C++篇】深度解析 C++ List 容器:底层设计与实现揭秘阿史大杯茶1 小时前
AtCoder Beginner Contest 381(ABCDEF 题)视频讲解Chris _data1 小时前
二叉树oj题解析Lenyiin2 小时前
02.06、回文链表爪哇学长2 小时前
双指针算法详解:原理、应用场景及代码示例爱摸鱼的孔乙己2 小时前
【数据结构】链表(leetcode)烦躁的大鼻嘎3 小时前
模拟算法实例讲解:从理论到实践的编程之旅C++忠实粉丝3 小时前
计算机网络socket编程(4)_TCP socket API 详解daiyang123...5 小时前
测试岗位应该学什么kitesxian5 小时前
Leetcode448. 找到所有数组中消失的数字(HOT100)+Leetcode139. 单词拆分(HOT100)