Sql 优化器拒绝使用索引

Sql 优化器拒绝使用索引,sql,performance,oracle,Sql,Performance,Oracle,我从生产部门得到这个查询,问题是优化器拒绝使用f_e上的索引,即使添加了提示(/*+索引(e.c_fact_idx12)*/。我的方法应该是什么?我需要检查哪些内容。是否有其他方法来优化此查询?查询优化新手,请提供帮助。您使用的是e.c\u fact\u idx12,但是查询中的任何地方都没有定义表别名e。e是架构名称。它应该是什么。或者。? SELECT /*+ PARALLEL(cfe, 6) */ dpd.f_p_descr, ef.t_a_code,

我从生产部门得到这个查询,问题是优化器拒绝使用
f_e
上的索引,即使添加了提示(
/*+索引(e.c_fact_idx12)*/
。我的方法应该是什么?我需要检查哪些内容。是否有其他方法来优化此查询?查询优化新手,请提供帮助。

您使用的是
e.c\u fact\u idx12
,但是查询中的任何地方都没有定义表别名
e

e是架构名称。它应该是什么。或者。?
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'