2

次の形式のクエリがあります。

SELECT a.id, b.colb, c.colc, d.cold, ...
FROM a JOIN b on a.id=b.id
       JOIN c on a.id=c.id
       JOIN d on a.id=d.id
       JOIN e on a.id=e.id
       ...

ここの各テーブルは、実際にはテーブル値関数です。このクエリの実行時間は 1 分以上ですが、一時テーブル ( CREATE TEMPORARY TABLE ax as SELECT * from a) を手動で作成し、それらに対してクエリを実行すると、数ミリ秒かかります (テーブルの作成にも数ミリ秒かかります)。

この大きなパフォーマンスの違い (少なくとも 2 桁) の原因は何ですか?

4

2 に答える 2