0

同一句语句使用 explain 执行计划分析sql语句执行使用到什么索引 多次explain出现了两种情况
1.使用到索引的情况
使用到了索引

2.没有使用到索引
索引失效

索引情况
clipboard.png

请问为什么会出现这种多个结果的情况 使用的mysql是5.5版本

1 个回答
1

已采纳

用不用索引看优化器自己判断哪种方式开销更少了
你这种情况二级索引是需要回表的,也就是在state的索引上找到后要根据id回到聚集索引上找到需要的数据
数据稍微一多,回表的次数也就多了,优化器认为回表的开销还不如我直接遍历聚集索引来的小,就不会用索引
作为对比,你可以只select id,那基本就一定就会走索引啦~

撰写答案

推广链接