参考资料1
参考资料2
背景
为啥要有BTree树.
红黑树等数据结构也可以用来实现索引,但是文件系统及数据库系统普遍采用B-/+Tree作为索引结构。
问题:相对于内存存取,I/O存取的消耗要高几个数量级. 在树的在节点上的遍历和移动代价就很高.
目标:减少查找过程中磁盘I/O操作次数的渐进复杂度。
手段:把树拍扁,减少高度, 做成多叉树, 多叉树如何分支呢?每个节点上放多个Key.
B-树横空出世, 就是多Key,多叉平衡树.
问题2: 提高区间访问效率.
B+树横空出世, 在B-树的基础上,把所有叶子节点连接在一块. 提升区间访问效率.
B-Tree
B+Tree