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將沒法使用索引;數據

六、若是某個數據列裏包含着許多重複的值,就算爲它創建了索引也不會有很好的效果;查詢

相關文章
相關標籤/搜索