一、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將沒法使用索引;數據
六、若是某個數據列裏包含着許多重複的值,就算爲它創建了索引也不會有很好的效果;查詢