MySQL的索引本质深入浅出 学习笔记

今天听了andy老师讲的直播课程,做个笔记

这次课程主要讲mysql的索引

为什么用 b+tree ,b+树是怎么落地的,sql优化索引怎么做

 

 

数据库的索引

hash等值匹配非常快,但是不支持范围查询

 

递归比较后, 左小右大的插入规律

红黑树是一种特殊结构的,自平衡的二叉树

这种二叉树已经变成链表了

 

需要用平衡二叉树,一个节点的子节点的高度差绝对值不允许超过1 ,也就是子节点深度差不超过1

树的深度,就是io次数

这个结构的问题是,1,树太高了。2,io利用率太差了,io每次拿一个page,一个pege是4kb(ssd 4k对齐)每次要拿4kb,数组塞不满,所以说io利用率太差了

所以,二叉树不能做硬盘级索引

 

 

B-树

所有子节点在一个水平线上

 不用uuid和身份证,是因为没有什么顺序,有可能改变整个树的结构,要最小化的更新索引

子节点不再局限于2个子节点,多路平衡查找树

 

 

 

 

 

 

 

 

 

离散度低于15%,会强制使用全表扫描 

 

 

 联合索引要在5个字段以内

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值