B树和B+树,因为几点存储的元素比较多,所以B树和B+树就是非常矮的树,树高和磁盘io的次数是成正比的,所以B树和B+树,所需要的磁盘io时间是非常少的。B树与B+树能大幅降低磁盘访问次数。B树的优点在于数据存储在每个结点中,可以更快访问到,而不必须走到叶子结点,B树更多的用在文件系统中。B+树的每个非叶子结点都只充当索引,所以查询必须到叶子结点结束,但它十分适合"扫库"和区间查找,而且因为大多结点只用于索引,所以并不会存储真正的数据,在内存上会更紧凑,相同的内存就可以存放更多的索引数据了。比如字典的拼音和汉字是分离的,只需要几十页就能得到完整的拼音表,但是如果拼音和汉字掺杂在一起,要得到完整的索引(拼音)表就需要整个字典。B+树的这些特性使得它更适合用来做数据库的索引。
相关推荐
瓦特what?2 分钟前
关于C++的#include的超超超详细讲解重生之我是Java开发战士1 小时前
【数据结构】深入理解单链表与通讯录项目实现tanxiaomi1 小时前
数据库索引视角:对比二叉树到红黑树再到B树lifallen1 小时前
JCTools 无锁并发队列基础:ConcurrentCircularArrayQueue欧哈东哥2 小时前
【C++】标准库中用于组合多个值的数据结构pair、tuple、array...野生的编程萌新7 小时前
从冒泡到快速排序:探索经典排序算法的奥秘(二)花开富贵ii8 小时前
代码随想录算法训练营四十三天|图论part01code小毛孩9 小时前
leetcode hot100数组:缺失的第一个正数艾伦~耶格尔16 小时前
【数据结构进阶】闪电麦坤9518 小时前
数据结构:N个节点的二叉树有多少种(Number of Binary Trees Using N Nodes)