mysql索引失效的情况

来源:互联网 发布:李兴华简历 java 编辑:程序博客网 时间:2024/04/29 00:22

1、WHERE字句的查询条件里有不等于号(如:WHERE column!=...),MYSQL将无法使用索引;

2、WHERE字句的查询条件里使用了函数的列(如:WHERE DAY(column)=...),MYSQL将无法使用索引;

3、在JOIN操作中,主键和外键的数据类型不相同,MYSQL将无法使用索引;

4、WHERE子句的查询条件里使用了比较操作符LIKE前置通配符%(如:LIKE "%ABC"),MYSQL将无法使用索引;

如果必须要使用like可以再表中新加一列存要like的列的值的反序值。 如:列A值是abcdefg,反值列B值是gfedcba。SQL语句:B like REVERSE(”%abc“)。

5、在ORDER BY操作中,排序的列同时也在WHERE中时,MYSQL将无法使用索引;

6、如果某个数据列里包含着许多重复的值,就算为它建立了索引也不会有很好的效果;



0 0