mysql中的索引失效情况

Posted 冲冲冲冲冲冲!!!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql中的索引失效情况相关的知识,希望对你有一定的参考价值。

1、like 以%开头,索引无效;当like前缀没有%,后缀有%时,索引有效。

2、or语句前后没有同时使用索引。当or左右查询字段只有一个是索引,该索引失效。

3、组合索引,不是使用第一列索引,索引失效。

4、数据类型出现隐式转化。如varchar不加单引号的话可能会自动转换为int型,索引无效。

5、索引是不索引空值的。

6、在索引字段上使用not,<>,!=。不等于操作符是永远不会用到索引的。

7、对索引字段进行计算操作、字段上使用函数。

8、当全表扫描速度比索引速度快时,mysql会使用全表扫描,此时索引失效。(mysql的优化器)

注意:关于优化器:如组合索引为(a,b),查询条件为where b=1 and a=1,这情况下是会走索引的。

以上是关于mysql中的索引失效情况的主要内容,如果未能解决你的问题,请参考以下文章

mysql 索引失效的原因都有哪些

mysql失效的几种情况

MySQL 哪些情况下索引会失效

Mysql索引会失效的几种情况分析

索引失效的情况和解释

MySQL优化:索引失效分析in与exists使用场合