ORDEREDヒント


結合順序を指定するヒント。
テーブルの結合順序と結合アルゴリズムを指定することができる。


以下、使用例

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