次のクエリを実行すると、速度が遅くなります (~6 秒)。
SELECT sql_no_cache
t1.id, t2.id, count(injury.id)
FROM age_group as t1
CROSS JOIN body_part as t2
LEFT JOIN injury
ON t1.id = injury.age_group_id
AND t2.id = injury.body_part_id
GROUP BY t1.id,t2.id
を削除すると、GROUP BY
すぐに実行されます。
私が使用するときEXPLAIN
の唯一の違いは、GROUP BY
「インデックスの使用、一時的な使用、ファイルソートの使用」がリストされていることです。
私はこれを回避する方法について途方に暮れています。
傷害テーブルの任意のフィールドをグループ化できるようにする必要があったため、すべての組み合わせにインデックスを付けるのは適切な解決策ではない可能性があります。
何か案は?