b+tree原理
b+tree原理图:
索引树高度:2
非叶子节点:non leaf page[root page],存字段的值和指针
叶子节点:leaf page,存所有字段的值和指针
指针:指针与页是映射的关系,通过指针就可以找到对应的页;指针可以存放在上一层节点;6字节
页:用于存放数据,16k;innodb_page_size | 16384
双向指针:用于保存相邻页的指针
b+tree:用于存储数据并高效检索数据,是基于页管理数据。
存储数据:数据都是存放叶子节点,并经过排序存放
b+tree删除操作:主要依赖填充因子,默认最小值为50%,如果小于50%,则会发生页合并操作
b+tree插入操作:
情况一:叶子节点有空闲,则直接插入数据(如插入35,对应的页有空间,则直接插入数据)
情况二:叶子节点已满,则会发生split分裂页操作(如插入70,对应的页已满,就会发生split分裂操作;分裂结果如下)
情况三:如果叶子节点和其上一层节点都已满,则会发生两次split分裂页操作