导致MySQL索引失效的几种常见写法
单个索引
-
使用
!=
或者<>
导致索引失效 -
类型不一致
导致的索引失效 -
函数
导致的索引失效 -
运算符
导致的索引失效 -
OR
引起的索引失效 -
模糊搜索
导致的索引失效like
中%
在首位则导致索引失效。 -
NOT IN
、NOT EXISTS
导致索引失效这两种用法,也将使索引失效。但是
NOT IN
还是走索引的,千万不要误解为IN
全部是不走索引的。我之前就有误解。
复合索引
-
最左
匹配原则 -
如果使用了
!=
会导致后面的索引全部失效 -