Java 面試 mysql索引失效的幾種情況

1.對索引列進行任何操作(計算(+、-、*、/等)、函數、自動/手動類型轉換)導致索引失效。

錯誤的例子:select * from test where id-1=9;

正確的例子:select * from test where id=10;

2.使用<>、not in、not exist、!= 會導致索引失效

3.隱式轉換導致索引失效。

由於表字段定義爲vachar類型,但在查詢時把該字段作爲number類型 以及where條件傳給mysql

4.查詢條件包含or,會導致索引失效

5.索引字段使用 like '%字符串%' 時,會導致索引失效而轉向全表掃描。

6. 變量使用的是times類型,表字段採用date類型。或相反情況。

7.當全表掃描速度比索引速度快時,mysql會使用全表掃描。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章