是B+树的变体,在B+树的非根和非叶子结点再增加指向兄弟的指针。
B*树
定义了非叶子结点关键字个数至少为(2/3)*M
,即块的最低使用率为2/3(代替B+树的1/2);
B*树
的分裂:当一个结点满时,如果它的下一个兄弟结点未满,那么将一部分数据移到兄弟结点中,再在原结点插入关键字,最后修改父结点中兄弟结点的关键字(因为兄弟结点的关键字范围改变了);如果兄弟也满了,则在原结点与兄弟结点之间增加新结点,并各复制1/3的数据到新结点,最后在父结点增加新结点的指针;
所以,B*树
分配新结点的概率比B+树要低,空间使用率更高;