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分裂页操作

  

 

posted @ 2021-06-04 08:29  DB哥  阅读(540)  评论(0编辑  收藏  举报