こんにちは、私はこのようなクエリを持っています
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 を使用すると、タイプが範囲で、エクストラが「グループ化にインデックスを使用」であることがわかります。この計画は、350,000 行のテーブルで完了するのに 10 秒かかります。ただし、4 秒しかかからないこともあり、実行計画は type: index および extra: using where です。
問題は、計画が 1 番目で 2 番目になると、なぜこのようなことが起こっているのかということです。