B树和B+树,因为几点存储的元素比较多,所以B树和B+树就是非常矮的树,树高和磁盘io的次数是成正比的,所以B树和B+树,所需要的磁盘io时间是非常少的。B树与B+树能大幅降低磁盘访问次数。B树的优点在于数据存储在每个结点中,可以更快访问到,而不必须走到叶子结点,B树更多的用在文件系统中。B+树的每个非叶子结点都只充当索引,所以查询必须到叶子结点结束,但它十分适合"扫库"和区间查找,而且因为大多结点只用于索引,所以并不会存储真正的数据,在内存上会更紧凑,相同的内存就可以存放更多的索引数据了。比如字典的拼音和汉字是分离的,只需要几十页就能得到完整的拼音表,但是如果拼音和汉字掺杂在一起,要得到完整的索引(拼音)表就需要整个字典。B+树的这些特性使得它更适合用来做数据库的索引。
相关推荐
zaizai10071 小时前
算法(左程云)1charliejohn2 小时前
计算机考研 408 数据结构 图论-关键路径David猪大卫18 小时前
【C++修炼】map 和 set 的使用vvilkim19 小时前
数据结构类型、区别与应用场景:一篇讲透选型逻辑阿卡好可爱1 天前
Lua 热更新不生效:改完文件线上仍是旧逻辑,package.loaded 与 upvalue 重绑定详解心仪久了会沦陷2 天前
C语言数据结构入门——树与二叉树详解:概念、堆实现与链式遍历码少女2 天前
数据结构——图的基础Severus_black2 天前
【C++初阶】list使用及相关实现,思路顺滑流畅!二本咕咕-机械转码2 天前
FreeRTOS深入解析(八)IPC机制之FromISR详解