※ ChatGPTを利用し、要約された質問です(原文:実行計画HASH JOIN RIGHT OUTER)
実行計画HASH JOIN RIGHT OUTERとは?適切な実行計画とは?
このQ&Aのポイント
実行計画HASH JOIN RIGHT OUTERとは、SQLの実行計画の一部であり、右外部結合を行うための方法です。
TABLE-Bの件数が少ない場合、TABLE ACCESS FULLでも問題ない場合があります。
適切な実行計画は、実際のデータ量や条件によって異なりますが、他の結合方法やインデックスの利用などを検討することが重要です。
実行計画HASH JOIN RIGHT OUTER
以下のようなSQLがあるとします。
------------------------
SELECT * from
(select * from TABLE-A where 条件色々) AA,
TABLE-B BB
where
BB.x(+) = AA.x
------------------------
TABLE-Aの件数は非常に多く(例100万)、条件は複雑です。
TABLE-Bの件数は少ないです(例30件)
この時、実行計画が
HASH JOIN RIGHT OUTER
TABLE ACCESS FULL TABLE-B
のように出ましたが、どのように解釈すれば良いのでしょう?
TABLE-Bは件数が少ないのでACCESS FULLでも問題ないでしょうか?
HASH JOIN RIGHT OUTER のコストが高くなってて気になってます。
たとえば、この場合のより適切な実行計画ってありますか?
お礼
ご回答ありがとうございました。 ハッシュ結合の場合、小さい方のテーブルは必ずACCESS FULLになるようですね。 知識不足でした。