浅谈 B+树
Posted 看,未来
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈 B+树相关的知识,希望对你有一定的参考价值。
目前常见的主要的三种存储引擎是:哈希、B+树、LSM树。LSM下次再说,hash讲过了。
没有什么B-树,那是 B-tree,国内一直翻译成B-树,其实就是B树。
B树我也不想说了,因为已经被升级过了,叫B+树。
下图来自 小灰的算法之旅,懂得人自然就懂了:
对比一下B树:
这个是B树。
B+树对于B树的改进
1、所有数据都在叶子节点。算法更容易理解了。回头抽空手写一下B+树,正好跳表也要重写了。
2、底层叶子节点使用链表串起来了。
这第二个改进不可谓不秀。单这么看自然是不明所以的,但是凡事都要放在上下文中去看,B+树的上下文对应的就是磁盘IO的索引呐,那如果我要范围查询呢?比如说我要上面树里面 4-10 的所有数据,B 树怎么作为?B+树怎么作为?高下立判。
代码实现
先占个位置,国庆假期内定会补上。
以上是关于浅谈 B+树的主要内容,如果未能解决你的问题,请参考以下文章