2、b+树

B+树

B+树是B树的变种,有着比B树更高的查询效率。

特点

4阶B+树

1599375486838

因为是4阶B+树,所以每个节点最多可以存储3个元素

每一个父节点都会出现在子节点中,是子节点中最大或者最小的元素

B+树查询

image-20210906195713835

除了图中所说的,每个叶子节点都会带有指向下一个叶子节点的指针,形成一个有序链表

在聚集索引(Clustered Index)中,叶子节点直接包含卫星数据,在非聚集索引(Non Clustered Index)中,叶子节点带有指向卫星数据的指针。

B+树插入

在B+树中,所有记录节点都是按键值的大小顺序存放在同一层的叶节点中,各叶节点用指针连接。因此在进行插入删除操作时,要进行调整,维持其平衡性。

插入过程

1、如果是一个空树,那么创建一个叶子节点,然后将记录插入该叶子节点,插入操作结束

2、如果只有叶子节点,那么会根据key值,找到叶子节点,然后再这个叶子节点中插入记录,如果叶子节点中记录的个数小于等于B+树的阶数-1,那么插入结束;如果大于,就会将这个叶子节点分裂为两个叶子节点,左边的叶子节点包含前阶数/2个记录,右边叶子节点包含剩余的记录,然后将第阶数/2+1个元素进位到父节点,这个父节点的左指针指向左子节点,右指针指向右子节点,插入结束。