B树和B+树,因为几点存储的元素比较多,所以B树和B+树就是非常矮的树,树高和磁盘io的次数是成正比的,所以B树和B+树,所需要的磁盘io时间是非常少的。B树与B+树能大幅降低磁盘访问次数。B树的优点在于数据存储在每个结点中,可以更快访问到,而不必须走到叶子结点,B树更多的用在文件系统中。B+树的每个非叶子结点都只充当索引,所以查询必须到叶子结点结束,但它十分适合"扫库"和区间查找,而且因为大多结点只用于索引,所以并不会存储真正的数据,在内存上会更紧凑,相同的内存就可以存放更多的索引数据了。比如字典的拼音和汉字是分离的,只需要几十页就能得到完整的拼音表,但是如果拼音和汉字掺杂在一起,要得到完整的索引(拼音)表就需要整个字典。B+树的这些特性使得它更适合用来做数据库的索引。
相关推荐
沐苏瑶2 小时前
Java 搜索型数据结构全解:二叉搜索树、Map/Set 体系与哈希表ccLianLian2 小时前
深度学习·DDPM云泽8084 小时前
深入 AVL 树:原理剖析、旋转算法与性能评估ZoeJoy87 小时前
算法筑基(一):排序算法——从冒泡到快排,一文掌握最经典的排序算法承渊政道8 小时前
【优选算法】(实战体会位运算的逻辑思维)承渊政道8 小时前
【优选算法】(实战推演模拟算法的蕴含深意)历程里程碑10 小时前
Protobuf 环境搭建:Windows 与 Linux 系统安装教程代码探秘者11 小时前
【算法】吃透18种Java 算法快速读写模板WolfGang00732111 小时前
代码随想录算法训练营 Day21 | 回溯算法 part03深邃-11 小时前
数据结构-队列