ハッシュ結合をヒント句で制御する方法www.doppo1.netハッシュ結合をヒント句で制御する方法ハッシュ結合の実行計画は一部、公開されているヒント句だけでは選択させることができない実行計画が存在します。本ページではこういった実行計画を明示的にヒントで選択させる方法を記載します。3つ以上のハッシュ結合ハッシュ結合は結合する2つの表の内小さいほうをメモリ上にハッシュテーブルとして作成します。したがって、A表->B表->C表の順にハッシュ結合で結合する場合、以下の2パターンが存在することになります。|----------------------------------------------------------------------------上記2パターンをそれぞれ明示的にヒント句で固定するには「(NO_)SWAP_JOIN_INPUTS」ヒントを利用します。SWAP_JOIN_INPUTS(表別名)と指定すると表別名がハッシュ表となり、NO_SWAP_JOIN_INPUTS(表別名)とすると表別名がハッシュ表にならなくなります。outer)ハッシュ結合は外部結合時もハッシュ表にする表をどちらにするか選択することが可能です。A->B(外部結合)とする場合こちらも以下の2パターン存在します。|------------------------------------------------------------------------------このケースでもSWAP_JOIN_INPUTSヒントを指定することで実行計画を指定することが可能です。b)、use_hash(b)となることに注意してください。実際にORACLEがアクセスする順番はB->Aとなります。本サイトはリンクフリーです。本サイトの情報により発生した問題等については一切責任を負えません。管理人への連絡はftpsaba0123@hotmail.comまでどうぞ。