mysql索引失效的状况

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

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

三、在JOIN操做中,主键和外键的数据类型不相同,MYSQL将没法使用索引;排序

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

若是必需要使用like能够再表中新加一列存要like的列的值的反序值。 如:列A值是abcdefg,反值列B值是gfedcba。SQL语句:B like REVERSE(”%abc“)。数据类型

五、在ORDER BY操做中,排序的列同时也在WHERE中时,MYSQL将没法使用索引;数据

六、若是某个数据列里包含着许多重复的值,就算为它创建了索引也不会有很好的效果;查询

相关文章
相关标签/搜索