UNSW COMP9315
如有错误,欢迎指正
B-trees介绍
本质上是平衡二叉树,优良的储存性能。按速度来说,二叉树的查询速度其实已经很快了,但是在数据库场景下,不可能将整个二叉树索引结构都加载到磁盘中,一次只能加载一个page,而这个page则对应着树的一个节点,这就是B树的应用所在
一些定义
- B树的阶M,表示B树中的一个node可以拥有的sub-node的最大值。DBMS下,M的大小取决于disk page的大小
- 根节点至少有两个子节点,最多有M个节点
- 中间节点(也就是不是根节点和叶节点的node)所包含的key的数量K最大为M(磁盘页),最小为M/2(需要高效利用磁盘页的空间),子节点的数量为K-1.
- 节点的key从大到小排序 这些定义需要结合B-trees的图去思考
Insertion
依次插入12,15,30,10. B树的阶为M=3
插入12,15,30,10。 B树结构不变,所有节点都满足key的数量 <= M (阶)
插入10,B树发生分裂