아이디 넘버로 걸러 준다고 할때 400개 가량의 아이디 넘버를 제외하고 값을 적재하여야하는데
필터에 400개가 되는 값을 기재하니 속도가 많이 늦네요.
조인을 이용하는 방법이나, 다른 방법이 있는지 배우고 싶습니다.
by 마농
[2011.07.29 13:41:16]
400개 id를 별도 집합으로 만들고 아우터 조인을 해보세요.
조인시 성능을 좌우하는 것은 작은 집합이 선행집합니 되는 것입니다.
그러나 아우터 조인 시 (+)가 붙은 테이블은 항상 후행 테이블이 됩니다.
대용량 테이블이 선행집합이 되므로 성능에 안좋습니다.
하지만 10g 부터는 (+)가 붙은 집합도 선행집합이 될 수 있습니다.
HASH JOIN RIGHT OUTER 로 실행계획을 유도해 보세요.
SELECT /*+ use_hash(b a) swap_join_inputs(b) */ *
FROM main_t a
, except_t b
WHERE b.id(+) = a.id
AND b.id IS NULL
;
by 푸른기린
[2011.07.29 14:55:00]
감사합니다 마농님
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.