二叉树结构

一个根节点,然后往下分叉衍生,数值比节点小的往左边衍生,数值比节点大的往右边衍生
mysq底层

但是有个问题,就是如果数值是自增而上的,那么子节点数据永远都要大于根节点,他就会一直往右衍生,这样会导致树的高度不可控,如下图

mysq底层



黑红树的结构

黑红树是根据二叉树之上诞生出来的一种结构,弥补了二叉树的缺陷,里面加个自动排序的功能,当子节点一直比跟节点的数值大的时候,他会取中间值作为根节点往下衍生,就是插入值的时候多了一个平衡算法,缺点的就是插入的数据太多那么树的高度会变得不可控,导致查询速度大大减慢
mysq底层

 

B-Tree

 

B+Tree

这个数据结构是根据B-Tree结构改变过来的,也是数据库的底层索引算法,再原来的B-树上面做了一点改动,他解决了树高度的问题,两千多万数据量只有三层,第一层和第二层存放索引,第三层存索引值和数据地址,所以查询速度非常快,超过两千多万的索引数据后那么他就会开始建立第四层分支,第四层分支的话那么数据量存放就可以上亿级别了,mysql建议我们超过两千多万数据就开始进行分表分库操作
mysq底层


表结构myisam引擎和InnoDB引擎

首先我们在数据库创建两张表

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相关文章:

  • 2021-08-28
  • 2021-10-07
  • 2022-01-23
  • 2021-10-02
  • 2021-11-20
  • 2022-02-16
  • 2021-07-17
猜你喜欢
  • 2021-12-26
  • 2021-07-29
  • 2021-11-19
  • 2021-11-07
  • 2021-07-13
  • 2021-05-17
相关资源
相似解决方案