T1
3 つのテーブル ( 、T2
、 )を結合する必要がありT3
、これらのテーブルのそれぞれに 30 列と数百万のレコードがあるとします。関連するフィールドを取得してから結果を結合するか、3 つのテーブルを結合してから関連するフィールドを取得する方が速いでしょうか?
簡単に説明します (a、b、c の値が一意であると仮定します)。
(コードはおそらく私が意図したようには見えないでしょう。誰かがそれを修正できれば幸いです)
オプション1:
SELECT
T1.a,
T2.c
FROM
T1,T2,T3
WHERE
T1.a = T2.b
AND T2.b = T3.c
または、オプション 2:
SELECT
t_T1.a,
t_T2.c
FROM
(SELECT a FROM T1) t_T1,
(SELECT b FROM T2) t_T2,
(SELECT c FROM T3) t_T3
WHERE
t_T1.a = t_T2.b
AND t_T2.b = t_T3.c
私が取り組んでいるテーブルでは、毎秒が重要であると想定してください。これはばかげた例のように見えるかもしれませんが、どれがより高速になるかを本当に知る必要があります。
ところで、PLSQL開発者10.0.2でORACLEを使用しています。
助けてくれてありがとう。