BatchMove 콤포넌트를 사용해 보시죠!
source에 FB를 연결하고,
Destination에 파라독스를 연결하고...
그런데 승근님이 말하는 일괄입력이란 10건이든 10만건이든 한 방에 짠~하고 입력이 되는
그런 작업을 말하는 것 같은데 실제로는 그렇게 작업이 이루어 지지 않고, 이루어 질수도 없습니다.
결국 내부적으로는 루프를 돌면서 한 레코드씩 입력이 이루어 지는거죠.
그리고 건 수가 많으면 시간이 걸리는 것은 너무나 당연한 것일테고요.....
단, 건수가 많을때 조금이라도 시간을 단축시킬 수 있는 방법은
1. 인덱스를 제거한다.
인덱스가 있으면 insert시킬때마다 인덱스를 만드니까 그 만큼 시간이 걸림.
완전히 입력이 끝나면 그때 인덱스를 만들어 준다.
2. 한 레코드 입력하고 commit을 시킨다.
그렇지 않으면 메모리에 저장이 되니까 메모리 부족현상이 생길 수도 있음.
DB마다 다를 수 있으나 이론상 이렇다는 얘기입니다.
참고하시길.....
이승근 님이 쓰신 글 :
: 질문 그대로 rdb안에 테이블들 중에서 특정 테이블에 대해 파라독스 테이블로 일괄 insert할 수 있을까요??
: 개별적으로는 해보니깐 잘 되는데 양이 많아지면 역시나 시간에 문제가...
: 예를 들어 c:\sample\sampl.fdb라는 데이터베이스 안에 pum이라는 테이블의 내용모두를
: c:\imsi\imsipum.db라는 파라독스안에 모두 담고 싶다면 어떻게 할 수 있는지요...
: 가만히 생각해보니 타입에 차이가 있어서 안될듯도 싶고 일괄insert를 ZQuery로 하자니 그렇고 그냥 Query로 하자니
: 그도 그렇고 안될것같다는 생각이 파바박 들기는 하는데 혹여 제가 모르는 기술도 있는가 싶어서 이렇게 질문을
: 드립니다...
:
: 아니면 데이터베이스와 안에 테이블은 모두 똑 같습니다...
: 그런데 위치한 폴더가 다릅니다...
: 이럴 경우 a데이터베이스 테이블의 내용을 b데이터베이스 테이블로 일괄 insert할 수 있는지요??
: 사용컴포넌트는 zeos를 사용하고 있습니다...
|