C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[9454] [질문] *.dbf를 읽어 ADOQuery를 사용해서 INSERT 하는데 속도가 너무느려요
허재팔 [] 2281 읽음    2001-07-30 00:45
안녕하세요

기존 *.dbf (dBaseIII화일-화일입출력으로 읽음)을 읽어 약간 정정을 하고, ADOQuery에 넣어
INSERT를 하는데 엄첨 느립니다....

DB는 ACCESS 사용합니다.
ConnectionString는 OLEDB jet엔진 4.0을 선택해서 사용합니다.

*.dbf는 8개의 컬럼입니다. (화일크기 12,700,083 Byte, Row수는 274,064 입니다)
정정한것은 14개의 컬럼이 있고, 단순한 정수형과 string형입니다.

ADOQueryRent->Parameters->ParamByName("re_co")->DataType = ftInteger;
ADOQueryRent->Parameters->ParamByName("re_ma")->DataType = ftInteger;
.
.
.
ADOQueryRent->Parameters->ParamByName("re_ok")->DataType = ftBoolean;

ADOQueryRent->Parameters->ParamByName("re_co")->Value = RentInfos[0].Value;
ADOQueryRent->Parameters->ParamByName("re_ma")->Value = RentInfos[1].Value;
.
.
.
ADOQueryRent->Parameters->ParamByName("re_yt")->Value = RentInfos[13].Value;

ADOQueryRent->ExecSQL();   //   --> 문제의 줄

문제의 줄을 주석처리하면 화일 입출력 해서 sql문 만드는 데는 금방 끝이 납니다.
주석을 안하면 DB에 집어 넣는데 속도가 엄청 느립니다.


300개 하는데 45초 정도 걸립니다.

274,064개 정도 됩니다...

그러면 274064/300= 913.54

913*45= 41085초 = 684.75분 = 11.4시간 입니다...

무지 빨리해서 한 1분안에 끝낼 수 있을까요?

+ -

관련 글 리스트
9454 [질문] *.dbf를 읽어 ADOQuery를 사용해서 INSERT 하는데 속도가 너무느려요 허재팔 2281 2001/07/30
9455     Re:[질문] *.dbf를 읽어 ADOQuery를 사용해서 INSERT 하는데 속도가 너무느려요 개박살 2848 2001/07/30
9467         Re:[질문] 반은 성공했습니다. ADOCommand 허재팔 2865 2001/07/30
9476             Re:Re:[질문] 반은 성공했습니다. ADOCommand 개박살 3005 2001/07/30
9537                 Re:Re:Re:[질문] 반은 성공했습니다. ADOCommand 허재팔 2535 2001/08/02
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.