一、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将没法使用索引;数据
六、若是某个数据列里包含着许多重复的值,就算为它创建了索引也不会有很好的效果;查询