by 빳데리빵빵 [Oracle Tuning] [2022.10.19 19:50:16]
아래 예시와 같이 테이블 2개를 아우터 조인을 하는데 본 테이블은 약 2억건 아우터 조인쪽 테이블은 약 6억건 정도 됩니다.
6억건 테이블을 full scan하여 XML 함수를 사용하여 group by 한 뒤 아우터 조인을 하는데 튜닝할 수 있는 방법이 있을까요?
두 테이블 모두 파티셔닝도 할 수 없는 상태입니다.
며칠째 보고 있는데 두 테이블 모두 모수를 줄일수 있는 방법이 없어서........답이 생각이 안나네요...ㅠ.ㅠ
plan을 보며 xml함수를 concat 으로 풀어서 변형을 했더니 cost는 줄었는데 수행시간은 더 길어 진듯 하네요...ㅠ.ㅠ
고수님들께 도움 좀 부탁드립니다.
-- t1 테이블 약 2억건
select t1.gijun
, t1.col1
, t1.col2
, t2.gubun
from table t1 left outer join (
select gijun
, xmlelement("BASE",
xmlagg(
xmlelement("INFO",
xmlelement("COL1", a.col1)
, xmlelement("COL2", a.col2)
, xmlelement("COL3", a.col3)
)
)
) as gubun
from table1 a -- 약 6억건
group by gijun
) t2
on t1.gijun = t2.gijun