数据库索引失效原因

Posted sunshenggang

tags:

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

1、应尽量避免在where子句中使用!=或者<>操作符,否则引擎将放弃使用索引而进行全表扫描。

技术图片

 

 2、尽量避免在where子句中使用or来链接条件,否则将导致引擎放弃使用索引而进行全表扫描,即使其中有条件带索引也不会使用,这也是为什么尽量少使用or的原因。

技术图片

 

 3、对于多列索引,应满足最左匹配原则;

4、如果列类型是字符串,那一定要在条件中将数据使用引号引用起来,否则不会使用索引。

技术图片

 

 

5、link的模式查询以%开头,索引失效。

技术图片

 

 

6、应尽量避免在wher子句中对字段进行表达式操作,这将导致引擎放弃使用索引而进行全表扫描

7、应尽量避免在where子句中对字段进行函数操作,这将导致引擎放弃使用索引

8、不要在wher子句中的“=”左边进行函数、运算或其他表达式运算

9、不适合键值较少的列

以上是关于数据库索引失效原因的主要内容,如果未能解决你的问题,请参考以下文章

索引失效原因总结

索引失效的情况和解释

mysql索引失效的原因

oracle 索引失效原因_汇总

Oracle中创建了索引,啥样的原因可能使索引不能正常使用?

如何查看oracle失效的索引