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
[40521] Re:Re:Re:DB 데이터 파일 쓰기 문제....
소리바람.OJ [phonon] 831 읽음    2005-06-13 10:10
속도 저하는 IO나 DB 처리시에 많이 걸리더군요.

IO는 Data의 크기에 따라 약간씩 다릅니다.
DB는 쿼리를 어떻게 만드는가와 Data의 처리 방법에 따라 상이한 결과를 가져온다는 걸 알실 겁니다.

예전 DB 관련 프로젝트에서 사용할 때는,

select top 1000 id, name, employee, address from TB_Test  where id < 32441 and ...

위와 같이 그전 쿼리에서 받은 Data의 마지막 id를 받아서 다시 쿼리를 작성해서 상위 1000개만 받아오는 겁니다.
계속 반복하며서 화일에 내용을 추가하고 다시 쿼리 작성.

천만번할 것을 만번으로 줄이는 방법인데 test를 꼭 해보시기 바랍니다.
Data의 양에 따라 가변적일 수 있으며 어떤 임의의 크기를 받을 때가 나을 수도 있습니다.

DB 프로그래밍엔 정석은 있지만 충분한 쿼리 분석기등으로 최적화를 점검하는 것이 좋습니다.
앗! Access라면... 쿨럭~


건승을 빕니다.


30억 님이 쓰신 글 :
: 하나의 파일에 배치처리하면 됩니다.
: 레코드를 여러개로 쪼개서 쿼리할 수 있나요?
: 인덱스를 만들어 인덱스의 카운트로 쿼리를 해야 하나요?
: 레코드수가 천만개정도 되서 쿼리하는 시간도 만만치 않을것 같은데....
: 조언 부탁드립니다.
:
: 소리바람.OJ 님이 쓰신 글 :
: : 제가 질문을 이해를 못 하겠습니다.
: :
: : 매 쿼리로 받은 데이터를 하나의 화일에 한행씩 추가 하시는 것인가요?
: : 그냥 100개씩의 결과를 받아서 100행씩 입력하시면 되지 않나요?
: : 한 레코드의 크기가 작으면 1000개씩 처리하는 것도 방법입니다.
: :
: : 자세한 질문을 주시면 다시 답변드리겠습니다.
: :
: :
: : 건승을 빕니다.
: :
: :
: : 30억 님이 쓰신 글 :
: : : 데이터레코드수가 천만개정도 되구요.
: : : MS-엑세스를 사용하고 있습니다.
: : : 이 데이터를 파일로 쓸려고 하는데 문제가 있습니다.
: : : 속도가 느려진다는겁니다.
: : : 처음에 쓰는 속도와 백만개정도 썼을때의 속도가 틀리다는겁니다.
: : : AdoQuery를 사용해서 쿼리하고 그 결과를 출력하는데 Next로 다음 레코드를 참고합니다.
: : : 데이터가 많아서 그런지 파일 쓰는데 속도에 문제가 있습니다.
: : : 어떻게 하면 데이터 내용을 빨리 쓸수 있을까요?
: : : 고수님들의 조언 부탁드립니다.

+ -

관련 글 리스트
40503 DB 데이터 파일 쓰기 문제.... 30억 789 2005/06/10
40507     Re:DB 데이터 파일 쓰기 문제.... 소리바람.OJ 864 2005/06/10
40519         Re:Re:DB 데이터 파일 쓰기 문제.... 30억 817 2005/06/13
40521             Re:Re:Re:DB 데이터 파일 쓰기 문제.... 소리바람.OJ 831 2005/06/13
40523                 Re:Re:Re:Re:[내용무]조언 감사합니다. 30억 773 2005/06/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.