sql语句中where后边的哪些条件会使索引失效 -- SQL语句优化

Posted woxbwo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql语句中where后边的哪些条件会使索引失效 -- SQL语句优化相关的知识,希望对你有一定的参考价值。

在我们编写sql的过程中where的条件使用不当会使索引(index)失效

1. 在 where 子句中使用!=或<>操作符,会使引擎放弃使用索引而进行全表扫描

2. 在 where 子句中对字段进行 null 值判断,会使引擎放弃使用索引而进行全表扫描

3. 在 where 子句中使用 or 来连接条件,会使引擎放弃使用索引而进行全表扫描

可改为:

 4. 在 where 子句中对字段进行表达式操作,会使引擎放弃使用索引而进行全表扫描

可改为:

5. 在where子句中对字段进行函数操作,会使引擎放弃使用索引而进行全表扫描

6. 在 where 子句中的“=”左边进行函数、算术运算或其他表达式运算,系统将可能无法正确使用索引

 

以上是关于sql语句中where后边的哪些条件会使索引失效 -- SQL语句优化的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 哪些情况下索引会失效

mybatis的sql语句导致索引失效,使得查询超时

说说对 SQL 语句优化有哪些方法?

说说对 SQL 语句优化有哪些方法?(选择几条)

说说对SQL 语句优化有哪些方法?

SQL 语句优化有哪些方法?