안녕하세요
기존 *.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분안에 끝낼 수 있을까요?
|