자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 15761
공지 유용한 관련 사이트 관리자2 2014.03.20 54577
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97974
1753 FireDAC MS SQL Table 접속 문의 [1] 아들만셋 2020.02.03 1211
1752 Form의 BorderStyle 정의시점?에 대한 차이점 질문입니다. [5] file Danny 2020.01.22 220
1751 MDI Child Dll [2] 라시드 2015.10.26 351
1750 StringGrid에 출력되는 Data(제목등)이 이중(잔상?)으로 나오는데 해결책을 구합니다. [4] file AllwaysHappy 2017.11.01 13849
1749 델파이 10.3.3 Rio 에서 fastreport 가 어디 있나요? [1] 노력하는삶 2020.02.04 159
1748 Windows 64-bit로 빌드 후 실행 시 오류가 납니다. [1] file 비앤케이 2020.02.03 231
1747 델파이 컴파일 후 실행 오류 관련 [2] file 똘귀아빠 2020.01.31 230
1746 [현대화 세미나] 윈도우, 우분투, 안드로이드, iOS, OSX 간 효과적인 마이그레이션 방법이 궁금합니다. 험프리 2020.01.31 294
1745 [현대화 세미나] 리눅스 환경에서 데이터스냅 배포 방법이 궁금합니다. 험프리 2020.01.31 237
1744 원격서버(호스팅서버)에 데이터스냅 미들웨어 배포하는 방법 운직 2020.01.31 100
1743 DB접속에 문제가 있어 여쭈어 봅니다. [5] 루키 2019.08.07 594
1742 "Ignore this exception type" 다시 활성화 방법문의 드립니다. [1] file 슈크림 2020.01.31 747
1741 안드로이드 calendar에 요일 밑에 text 추가 할수 있나요? [1] 델마당쇠 2020.01.28 1716
1740 델파이로 iso앱을 개발하려면 mac pc가 있어야 하나요? [1] 델마당쇠 2020.01.24 192
1739 system.pas 에러 해결방법은 무엇인가요? [1] 날라리아 2020.01.28 2720
1738 Rest Api 질문입니다. [3] 희망나라 2020.01.22 1036
1737 RX Currency Edit 콤포넌트를 대체할 대안이 있을까요? 날라리아 2020.01.28 205
1736 datasnap 세션유지 또는 재연결 [2] 델마당쇠 2020.01.14 406
1735 소스코드 편집 창에서 블럭 선택 오류 [2] 오랜동안 2018.02.26 297
1734 클릭, 더블클릭 구분하는방법이 있을까요?? [1] Danny 2020.01.15 1107