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 基于索引统计数据的成本计算