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