花里胡哨的Mysql索引
2022-09-06 11:55:26 8 举报
AI智能生成
列举出mysql中innodb的索引各种生效、失效的使用场景及测试
作者其他创作
大纲/内容
OR
相同列使用or查询(<font color="#388e3c"><b>生效</b></font>)
不同列且部分列建立索引(<font color="#d32f2f"><b>失效</b></font>)
不同列且全部列分别建立索引(<font color="#388e3c"><b>生效</b></font>)
不同列建立联合索引(<b style=""><font color="#d32f2f">失效</font></b>)<br>
函数
返回列使用函数(<b><font color="#388e3c">生效</font></b>)
查询条件列使用函数(<font color="#7b1fa2"><b><i>不一定</i></b></font>)
<b><font color="#d32f2f">不生效</font></b>
<font color="#388e3c"><b>生效</b></font>
类型隐式转换(<b><font color="#d32f2f">不生效</font></b>)
like匹配
左模糊查询(<font color="#d32f2f"><b>不生效</b></font>)
右模糊查询(<font color="#388e3c"><b>生效</b></font>)
联合索引
命中索引全部列
顺序(<font color="#388e3c"><b>生效</b></font>)
乱序(<b><font color="#388e3c">生效</font></b>)
命中索引部分列
命中最左列(<font color="#388e3c"><b>生效</b></font>)
1. 单一左列
2. 连续多列
3. 非连续多列
未命中最左列(<font color="#d32f2f"><b>失效</b></font>)
范围查询
单字段范围查询(<font color="#388e3c"><b>生效</b></font>)
包含单个范围的多字段独立索引(<font color="#388e3c"><b>生效</b></font>)
包含范围的联合索引
范围字段在前(<font color="#f57c00"><b>部分生效</b></font>)
范围字段在后(<font color="#388e3c"><b>生效</b></font>)
order by
使用两种不同的排序方向
独立的索引(<font color="#d32f2f"><b>失效</b></font>)
联合索引(<font color="#d32f2f"><b>失效</b></font>)
引用了不在索引的排序列(<font color="#d32f2f"><b>失效</b></font>)
使用了不同的索引(<font color="#d32f2f"><b>失效</b></font>)
Where和Orderby的列不满足最左列前缀原则
<font color="#d32f2f"><b>失效</b></font>
<font color="#388e3c"><b>生效</b></font>
满足最左前缀但是Where存在range查询(<font color="#d32f2f"><b>失效</b></font>)
索引与锁
0 条评论
下一页