by matrixkdg [SQL Query] [2016.12.22 11:33:41]
평균 2만 로우 이상의 엑셀 데이터 업로드 기능을 만들려고 하는데요
일단 임시테이블에 넣고 다른 테이블 데이터를 이용해 핸들링 후 최종적으로
SELECT INSERT 하려고합니다.
건이 많으면 3,4만건까지 갑니다만..
WITH 절 사용으로 만건넘게 동일건 복사후에 한방넣기 했더니 시간이 엄청걸리네요;;
이정도 건수는 그냥 한건식 INSERT해도 무방한 가요?
건건히 넣는 방법 외에 다른방법이 있는지요?
with 절내의 select 문 느리지 않나요?
엄청 느리다는 기준은요?
insert 되는 테이블은 운영중인가요?
운영중인 테이블이 아닙니다.
30-40초 이상이 지나서 완료까지 보진못하고 그냥 취소를 했습니다만..
이렇게까지 오래걸릴줄은 몰랐네요;
도입부 설명은 좋았으나 갑짜기 튀어나온 WITH 문 사용은 의외네요?
INSERT SELECT 사용하는데 WITH 문이 왜 필요하죠?
접근방식에 문제가 있는 듯 합니다.
운영중이시면 프로시져 만드셔서 커서에 담아서 건건히 인서트 하시고 commit 단위를 짧게 가져가세요 (전 500건)
건수가 적다면 ctas 또는 테이블 만드셔서 미리 insert 할 데이터 만드셔서 한번에 처리 하셔도 됩니다