2012-11-27 54 views
1
SELECT /*+ PARALLEL(cfe, 6) */ 
     dpd.f_p_descr, 
     ef.t_a_code, 
     pd.p_name, 
     ef.t_q 
FROM e_fact ef 
INNER JOIN d_dim dd 
    ON ef.t_d_key = dd.d_key 
INNER JOIN f_e cfe 
    ON ef.ref_id = cfe.t_id 
    AND ef.r_version = cfe.t_version 
INNER JOIN d_dim dpd 
    ON dpd.d_key = ef.d_key 
INNER JOIN p_dim pd 
    ON pd.p_key = ef.b_p_key 
INNER JOIN r_dim rd 
    ON rd.r_key = ef.t_r_key 
INNER JOIN f_t_dim ftd 
    ON ftd.t_key = cfe.t_key 
WHERE dd.d_value = '19-OCT-2012' 
    AND dpd.f_d = 'XYZ' 
    AND ftd.s_id IN (201, 209) 
    AND rd.r_n = 'ABC' 

我從生產該查詢,問題是優化拒絕使用索引上f_e即使添加提示(/*+ index(e.c_fact_idx12) */。應該是什麼我的做法,什麼所有的東西,我需要檢查這一點。是否有任何其他的方式來調整這個查詢?新查詢調,幫助將不勝感激。優化拒絕使用索引

回答

2

您使用e.c_fact_idx12,但表的別名e並不在查詢的任何地方定義!

+0

Ë是模式名稱,它應該是? –