索引并不是时时都会生效的,比如以下几种情况,将导致索引失效:
1. where语句中包含or时,可能会导致索引失效
使用or并不是一定会使索引失效,你需要看or左右两边的查询列是否命中相同的索引。
2. where语句中索引列使用了负向查询,可能会导致索引失效
3. 索引字段可以为null,使用is null或is not null时,可能会导致索引失效
4. 在索引列上使用内置函数,一定会导致索引失效
5. 对索引列进行运算,一定会导致索引失效
6. like通配符可能会导致索引失效
7. 联合索引中,where中索引列违背最左匹配原则,一定会导致索引失效