자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------

안녕하세요.

txt반출하는 속도가 너무 안나서 조언을 듣고자 문의드립니다.

 

DB에 있는 고객별 로우데이타를 조회화면에서 txt로 저장하는 프로그램을 만들고 있습니다.

건수가 대략 30만건되어 FDMEMTable을 이용하여 cxGrid와 연결하여 조회는 되었는데요.

cxGrid에서 직접 txt로 반출을 하면 자료가 많다보니 에러가 발생하더군요.

그래서 FDMEMTable 데이타를 직접읽어 TXT로 반출을 했는데 대략 40분정도가 소요됩니다.

40분이나 되다보니 어쩔수 없이 사용자에게 요청올때마다 쿼리로 뽑아주고 있습니다.

 

txt반출속도를 빠르게 하는 방법이 있을까요?

아래는 txt로 반출하는 샘플코드입니다.

속도개선에 대한 의견이 있으시면 주저없이 댓글해주세요

감사합니다. ^^

 

-----------------------------------------------------------------------

 

   if not CDS3.Active then
     Exit;

   try
      AssignFile(TxtF, 'C:\통계조회.txt');
      Rewrite(TxtF);
      StrData :=  '가입매장브랜드'+'|'+
                  '가입매장코드'+'|'+
                  '가입매장명'+'|'+
                  '고객번호'+'|'+
                  '문자수신여부'+'|'+
                  '발송매장브랜드'+'|'+
                  '발송매장'+'|'+
                  '발송매장명'+'|'+
                  '발송유무'+'|'+
                  '약관동의'+'|'+
                  '개인정보동의'+'|'+
                  '마케팅동의'+'|'+
                  '적립포인트'+'|'+
                  '포인트사용유무'+'|'+
                  '사용포인트'+'|'+
                  '내용';
      WriteLn(TxtF, StrData);

      i := 0;
      iNa := 0;
      with CDS3 do
      begin
         CDS3.First;
         while not eof do
         begin

           StrData := FieldByName('가입매장브랜드').AsString+'|'+
                      FieldByName('가입매장코드').AsString+'|'+
                      FieldByName('가입매장명').AsString+'|'+
                      FieldByName('고객번호').AsString+'|'+
                      FieldByName('문자수신여부').AsString+'|'+
                      FieldByName('발송매장브랜드').AsString+'|'+
                      FieldByName('발송매장').AsString+'|'+
                      FieldByName('발송매장명').AsString+'|'+
                      FieldByName('발송유무').AsString+'|'+
                      FieldByName('약관동의').AsString+'|'+
                      FieldByName('개인정보동의').AsString+'|'+
                      FieldByName('마케팅동의').AsString+'|'+
                      FieldByName('적립포인트').AsString+'|'+
                      FieldByName('포인트사용유무').AsString+'|'+
                      FieldByName('사용포인트').AsString+'|'+
                      FieldByName('내용').AsString;
           WriteLn(TxtF, StrData);
           next;
         end;
      end;

      CloseFile(TxtF);

      ShowMessage(pChar('C:통계조회.txt 로 저장되었습니다.'));
   except on E: Exception do
      begin
         ShowMessage('TXT파일이 저장되지 않았습니다.');
      end;
   end;
 

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 15777
공지 유용한 관련 사이트 관리자2 2014.03.20 54595
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 98017
2259 RAD 서버 파일 업로드/ 다운로드 관련 [1] arabianwine 2020.04.10 226
2258 [RAD서버-201703 세미나] EMS와 데이터스냅의 차이를 알고 싶어요. 험프리 2017.03.17 226
2257 [공유] RAD Studio XE6 설치 시 FastReport가 같이 설치 되나요? Humphery 2015.08.11 226
2256 xe10.3.3 에서 단말기 Android 7.1.2 에 넣으면 오류 [1] file 광수생각 2021.03.17 226
2255 delphi10.2 SDK 관련 설정 문의 2 신우 2018.09.10 227
2254 문의 드립니다 [2] 투덜이스머프투 2019.05.17 227
2253 dbexpress mssql connection 질문 라우토 2020.06.11 227
2252 GetIt Package Manager에 등록된 컴포넌트 설치 [3] sihwan 2020.10.05 227
2251 VCL 소스 폴더와 ShellControls 컴포넌트가 왜 없나요? (XE10) [1] 서어 2016.05.04 228
2250 스트링그리드의결과를 Excel File로 출력하는 방법에 대해서 AllwaysHappy 2017.11.10 228
2249 컴포넌트 설치관련 [4] file 개미 2018.01.03 228
2248 동적생성한 컴퍼넌트 해제 질문입니다. [1] 희망나라 2018.02.28 228
2247 IBConsole에서 [3] file 개발자로 2018.09.07 228
2246 델파이 64비트에서 android:debuggable 옵션을 false 로 하는 방법 좀 가르쳐주세요. [1] 델파이_사랑 2019.12.16 228
2245 기존 MDI프로극램에 데몬프로그램 기능을 추가하고 싶습니다 [4] 헨씀히포 2020.02.03 228
2244 "D3D_SHADER_MACRO" 에러가 발생 합니다. [2] 하루 2020.06.10 228
2243 도서 대여 프로그램을 C++ Builder로 변경시 Error [4] file 겨울잠안자는곰 2018.01.10 229
2242 사용자가 3명 정도인데, 2티어로 모바일앱을 구성해도 괜찮을까요 ? [1] 막스뮐러 2020.04.29 229
» FireDAC. FDMEMTable의 txt 반출관련 속도개선 문의드립니다. [4] 오바라미 2018.10.16 229
2240 DBgrid 입력시 위치를 맨 위로 보내는 방법 델펀맨 2016.12.15 230