Mysql索引失效的情况:
(1)对列进行计算(对索引进行表达式计算)
(2)不匹配数据类型,会造成索引失效
(3)where语句中使用了IS NULL或者IS NOT NULL
(4)使用了反向操作,该索引将不起作用
(5)使用了like操作,索引就将不起作用
(6)在WHERE中使用OR时,有一个列没有索引,那么其它列的索引将不起作用
(7)复合索引失效
(8)索引列上使用函数
//
- 1.优先使用联合索引
- 2.最左匹配原则
- 3.范围条件右边的列索引失效
- 4.计算、函数导致索引失效
- 5.类型转换导致索引失效
- 6.不等于(!= 或者<>)索引失效
- 7.is null可以使用索引,is not null无法使用索引
- 8.like以%开头,索引失效
- 9.OR前后存在非索引的列,索引失效
- 10.字符集不统一