数据库索引失效原因

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

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

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

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

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

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

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

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

9、不适合键值较少的列

猜你喜欢

转载自www.cnblogs.com/sunshenggang/p/12430181.html