当前位置: 代码迷 >> Oracle技术 >> ORACLE多表连接查询效率
  详细解决方案

ORACLE多表连接查询效率

热度:73   发布时间:2016-04-24 08:32:29.0
ORACLE多表连接查询效率求助
SQL code
SELECT B.UPLOAD_DATE ,Q.C2_8260_2 ,Q.C6_8169_12 ,Q.C5_8249_11 ,Q.C3_8155_6 ,Q.C3_8155_6 ,N.C2_3039_2 ,T.C2_8028_2 ,T.C2_8028_2 ,D.C1_2380_2 ,R.C1_1154_2 ,W.C3_6314_7 FROM EDIMESSAGE EINNER JOIN UNB B ON B.MSG_ID=E.PK_IDINNER JOIN UNH H ON H.ROOT_ID=B.PK_ID INNER JOIN EQD Q ON Q.MST_ID=H.PK_ID INNER JOIN MEA W ON Q.PK_ID=W.MST_IDINNER JOIN NAD N ON N.MST_ID=H.PK_IDINNER JOIN TDT T ON H.PK_ID=T.MST_IDINNER JOIN RFF R ON R.MST_ID=Q.PK_IDINNER JOIN DTM D ON D.MST_ID=Q.PK_IDWHERE h.C2_0065_2='CODECO'



目前在做 一个查询,需要同时INNER JOIN 多张表,而且每张表都是上10W的数据量
如何对语句进行修改,索引已经加完。

------解决方案--------------------
据说:
INNER JOIN 超过5个,说明你的数据库表设计不合理。
------解决方案--------------------
跟你说下优化规则吧:
1.oracle的处理规则,他是从后面到前面的。所以同一个语句能尽量使数据量变小的条件要放后面,大表放前面。
2.建议你分步处理,使用临时表。
  相关解决方案