Join Order Hints(Oracle)

SELECT /*+ use_hash(d,r)*/ D.*
FROM (SELECT * FROM SOL_DEFECTS WHERE SEQ# = 1 AND WS_ID <> 11) D,                 
     (SELECT SN_KEY FROM SOL_RUNCARD R WHERE WO_KEY = '86810') R
WHERE D.SN_KEY = R.SN_KEY;    

or:

select *
from (select d.*, rownum --- 比bell6248 多了個rownum, 也許有效
from sol_runcard r, sol_defects d
where d.sn_key = r.sn_key
and d.ws_id <> 11
and r.wo_key = 86810)
where seq# = 1; 

 //加上rownum就使用hash join.

Detail: http://www.itpub.net/808359,1.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章