by 김철수 [2022.12.01 22:16:55]
SELECT COUNT(*) FROM TABLE_1 A INNER JOIN TABLE_2 B ON B.KEY1 = A.KEY1 AND B.KEY2 = A.KEY2
안녕하세요.
COUNT 하는데 10초정도 걸리네요.
개선방법이 있을지 문의드립니다.
두 테이블은 KEY1로 파티션되어 있는 테이블 입니다.
TABLE_1 : 2천만건, PK(KEY1, KEY2) LOCAL인덱스
TABLE_2 : 2천5백만건, PK(KEY1, KEY2, KEY3) LOCAL인덱스
카운트만 하는데 조인이 필요한가요?
t1 없이 t2 만 가지고 카운트 하면 결과가 다른가요?
네. t2에만 있는 데이터가 존재해서 다르게 나옵니다
DB가 오라클 이면..Exists로 하면 어떤가요??
SELECT COUNT(*)
FROM TABLE_1 A
WHERE EXISTS (SELECT 'X' FROM TABLE_2 B
WHERE B.KEY1 = A.KEY1
AND B.KEY2 = A.KEY2)