結合順序を指定するヒント。
テーブルの結合順序と結合アルゴリズムを指定することができる。
以下、使用例
SELECT /*+ ORDERED */ tblA * FROM tbl_AA tblA tbl_BB tblB WHERE tblA.HOGECD = tblB.HOGECD
ORDEREDヒントを使うとFROM句に指定した順で表結合が行われる
USE_NLなどのオプションを指定することで結合アルゴリズムを指定することも可能
SELECT /*+ ORDERED USE_NL( tblA, tblB) */ tblA * FROM tbl_AA tblA tbl_BB tblB WHERE tblA.HOGECD = tblB.HOGECD
なお、USE_NLはネステッドループ結合を使用することを指定している。
このほかにUSE_MERGE(マージ結合)、USE_HASH(ハッシュ結合)を指定するオプションもある。
以下のようにINDEXのヒント句と合わせて使用することも可能
SELECT /*+ ORDERED USE_NL( tblA, tblB) INDEX(tblA IDX_tblA03) */ tblA * FROM tbl_AA tblA tbl_BB tblB WHERE tblA.HOGECD = tblB.HOGECD
結合アルゴリズムについては以下を参照
http://d.hatena.ne.jp/haradago/20100302/p1
動作確認環境:Oracle 11g