一箫一剑平生意,负尽狂名十五年。这篇文章主要讲述MYSQL索引优化法则相关的知识,希望能为你提供帮助。
目录
一首诗送给各位:
【MYSQL索引优化法则】举个栗子:
假设index(a,b,c)
where语句 | 索引是否被用到 | 原因 |
---|---|---|
where a=3 | 使用到a | 全值匹配 |
where a=3 and b=5 | 使用到a,b | 全值匹配 |
where a=3 and b=5 and c=4 | 使用到a,b,c | 全值匹配 |
where b=3 or where b=3 and c=4 or where c=4 | NULL | 因为按照创建索引的顺序第一个索引列a没有被用到,导致后面的索引失效。 |
where a=3 and c=5 | 使用到a | b没有被用到,导致c失效 |
where a=3 and b> 4 and c=5 | 使用到a | b为范围查询索引失效导致C也失效 |
where a=3 and b like kk% and c =4 | 使用到a,b,c | 这里的b是可以用到的因为百分号在最右结合最左前缀原则,虽然%相当于范围查询但是在最右,最左边是定值。 |
where a=3 and b like %kk and c=4 | 使用到a | b中间断开失效导致c也失效 |
where a=3 and b like %kk% and c=4 | 使用到a | b断开 |
where a=3 and b like k%kk% and c=4 | 使用到a,b,c | 同上上上 |
推荐阅读
- HotSpot 虚拟机对象探秘
- JVM 内存结构
- 10个显示彩色字符的批处理代码
- JVM-03
- Tomcat10-记录踩坑
- Ribbon 和 Feign 的区别
- JVM-04
- MybatisPlus_01
- MybatisPlus-03