以下に説明する時間のかかるクエリがあるとします。
(SELECT ...
FROM ...) AS FOO
LEFT JOIN (
SELECT ...
FROM ...) AS BAR
ON FOO.BarID = BAR.ID
と仮定しましょう
(SELECT ...
FROM ...) AS FOO
多くの行を返します(10 M としましょう)。すべての行を BAR のデータと結合する必要があります。
ここで、次の結果を挿入するとしましょう
SELECT ...
FROM ...) AS BAR
テーブルにアドホック インデックスを追加します。
私の質問:
ライブクエリでの「JOIN」のパフォーマンスは、アドホック インデックスが追加された前のライブクエリの結果を含むテーブルへの「JOIN」のパフォーマンスとどのように異なりますか?
それを置く別の方法:
JOIN が遅い場合、JOIN 先のテーブルを実際に格納してインデックスを作成することにメリットはありますか?