mysql in不走索引可能的情況


在MySQL 5.7.3以及之前的版本中,eq_range_index_dive_limit的默認值為10,之
后的版本默認值為200。所以如果大家采用的是5.7.3以及之前的版本的話,很容易采用索引統計數據而
不是index dive的方式來計算查詢成本。當你的查詢中使用到了IN查詢,但是卻實際沒有用到索引,就
應該考慮一下是不是由於 eq_range_index_dive_limit 值太小導致的。

意思是如果你的in里面參數超過了這個限制值,就不會走索引查詢。

參考: <<MySQL是怎樣運行的:從根兒上理解>> 12.2.3 基於索引統計數據的成本計算


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM