读模型
1、主键读
最常见的读模型,说是主键,其实也包括其它索引键,或者联合主键。
常见实现:hash,时间复杂度可以接近 O(1);B 树或变种:时间复杂度接近 O(log(n))。
关于 B 树和变种:
B 树(B-树):本质上是二叉查找树的升级版,变成了平衡的 N 叉查找树,这个 N 的范围根据磁盘一次读取的块大小来调整,这样复杂度 log n 的底数就从 2 变成一个更大的数,减少了树的高度。除此以外,还有一些额外的优化,比如为了插入和删除的性能考虑,通常准备一些预留的空间,只要在当前块或者邻近块中找到空间写入,就避免了开销巨大的所有记录向后偏移的操作。
B 树的阶:
- 一棵 m 阶的 B 树最多有 m 棵子树;
- 根节点至少有
[……]阅读全文