각 3천만건의 동일한 구조의 TABLE A , B
PK = P1 + P2 + P3
목적 : B 테이블에 존재하고, A 테이블에 존재하지 않는 행을 A테이블에 insert.
1.
insert into A
(select * from B
minus
select * from A);
minus 이용시 sort 를 수행함에 따라 temp tbs (10G) 부족으로 full 이 되어 sql 실패합니다.
2.
insert into A
select * from B
where not exists (select * from A, B
where A.P1 = B.P1 ...);
2번과 같이 KEY값(인덱스컬럼)만을 비교하는 not exits 를 사용하는 SQL은 어떻게 작성해야 할까요?
그 외 대용량 테이블간 데이타를 비교할 수 있는 적절한 방안에 대해 부탁드립니다. |