我对BTrees的理解是:
- 如果根BTree大小为32,则级别1具有1024个密钥容量
- 2级可以对1048576键进行排序
- 级别1的实际容量为512,级别2的实际容量为524288,因为叶子已填半。
Am'I好或明显出于担忧?
答案 0 :(得分:1)
计算Btree容量的公式:假设最大子代数为D,则任何节点的最大键数为D-1。级别1(根级别)始终具有一个带有D-1键的节点。级别2最多可以具有D个节点,这些节点中的每个节点最多可以具有D-1个密钥,因此级别2具有D *(D-1)个密钥。级别3最多可以具有D ^ 2个子节点(因为级别2中的任何节点都可以具有D个子节点,并且级别2中最多有D个节点)。级别3中的每个节点最多可以具有D-1个密钥,因此级别3中的密钥数目为D ^ 2 *(D-1),依此类推...对于任何级别i,最大数目为键是D ^(i-1)*(D-1)。因此,树的容量是通过对每个级别的容量求和而获得的。