mysq底层

二叉树结构

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

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



黑红树的结构

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

 

B-Tree

 

B+Tree

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


表结构myisam引擎和InnoDB引擎

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值