SELECT DISTINCT FTO GFM ------------------------------------------> 2,115 건
, SUBSTR(BID,1,18) ITEM
, NVL(CTY,1) MCQ
FROM TAB1
WHERE (SUBSTR(BID,1,18), FTO)
IN (SELECT SUBSTR(BID,1,18) ITEM -----------------------> 2,115 건
, MAX(FTO) GFM
FROM TAB1
WHERE ENAME ='ESST'
AND (FTO, CSID)
IN (SELECT GFM,STID ---------------------------> 6,380 건
FROM TAB2
WHERE PDATE = '201136'
AND AAR = 'HW'
AND GQY > 0
)
GROUP BY SUBSTR(BID,1,18)
)
위와 같은 쿼리가 있습니다.
각각의 서브쿼리 옆의 숫자는 결과 건수입니다.
실행계획을 보면 Cartesian Product이 생겨서 뻥튀기 되었다가 건수가 줄어들게 됩니다.
이쿼리를 좀 더 효율적으로 쿼리를 수정할수 없나요? |