我希望加入两个表。一个表具有一个ID,另一个表具有ID及其对应的值。我正在使用4个联接来获取4列的值。查询的费用太高。有降低成本的方法吗?
示例代码。
select b.empname, c.deptname, d.supervisorname
from idtable A, lookuptable B,lookuptable C,lookuptable D
where b.lookuptable =a.empid
and c.lookuptable=a.empdeptid
and d.lookuptable = a.empsupervisorid;
答案 0 :(得分:0)
尝试使用提示。如果lookuptable表不是太大,您可以尝试
/*+ CACHE(lookuptable)*/
或者,您可以使用:
/*+ USE_HASH(idtable lookuptable)*/