0
您好我有这样修改mysql的查询计划类型
SELECT (SELECT CSN FROM apps as b WHERE
a.key1=b.key1 AND a.key2 = b.key2 AND b.seq=MAX(b.seq) LIMIT 0,1) AS CSN,
a.key1
FROM apps as a GROUP BY key1, key2
查询现在,当我使用EXPLAIN我得到的类型是范围和额外的“使用索引分组依据”。 这个计划需要10秒钟才能在一张350,000行的桌子上完成。然而,有时候它只需要4秒钟,而执行计划是类型:索引和额外:使用其中
所以问题是为什么会发生这种情况,一旦计划是第一次和第二次,我可以莫名其妙地改变计划?
考虑提供DDL和/或sqlfiddle – Strawberry