안녕하세요..
C, D 테이블은 공통코드 테이블 입니다.
A,B테이블만 조인하면 속도가 빠른대 여기에 C,D 공통코드 테이블 조인하면 엄청 느려집니다.
플랜을 보니 C,D가 네스트루프 조인하는게 보여서 해쉬로 조인으로 되도록 힌트를 줬는대요.
속도가 많이 빨라지긴 했습니다.
근대 힌트 주는 방법이 맞는가요? 힌트중에 ordered 는 빼야 하나요?? /*+ use_hash(C, D) */ 이렇게 하는게 맞나요????
A테이블이 데이터가 제일 많습니다. 백만건 넘습니다. B테이블도 기준정보 테이블 이라서 많치는 않습니다.
SELECT /*+ ordered use_hash(C, D) */
A.ID, A.NAME, B.ID, B.NAME, C.CD_NM, D.CD_NM
FROM A , B , C ,D
WHERE A.ID = B.ID
AND A.COM_CD1 = C.CD
AND A.COM_CD2 = D.CD
AND A.ID = '1'