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
[8767] [질문] mdb-adoquery가 원래 이렇게 속도가 느린가요...
h.j [] 1596 읽음    2001-07-05 10:53
adoquery의 help파일에는 빠른 속도를 제공한다고 쓰여있는 것 같은데요...
실제로 사용을 해보니 adoquery를 이용해 mdb에서 자료를 가져오면 속도가 많이 느린 것 같습니다.
테이블 네 개정도에서 for반복문을 두 개정도 돌려 자료를 꺼내오는데요.... 소스는 이러합니다..

int sys_num = Form1->StringGrid1->Row+1;

ADOQuery2->SQL->Clear();
ADOQuery2->SQL->Add("select a일련번호 from a테이블 where 일련번호 = " + IntToStr(sys_num));
ADOQuery2->Open();
a_count = ADOQuery2->RecordCount;
for(int i =0;i<a_count;i++)
{
   int a_sys_num = ADOQuery2->FieldByName("a일련번호")->AsInteger;
   ADOQuery3->SQL->Clear();
   ADOQuery3->SQL->Add("select c일련번호, c from c테이블 where a일련번호 = " + IntToStr(a_sys_num));
   ADOQuery3->Open();
   int a_m_count = ADOQuery3->RecordCount;

   for(int j=0;j<a_m_count;j++)
   {
         int c_sys_num = ADOQuery3->FieldByName("c일련번호")->AsInteger;
         if(means_show == true)
              RichEdit1->Lines->Add(ADOQuery3->FieldByName("c")->AsString);
         ADOQuery4->SQL->Clear();
         ADOQuery4->SQL->Add("select d from d테이블 where c일련번호 = " + IntToStr(c_sys_num));
         ADOQuery4->Open();
         int ex_count = ADOQuery4->RecordCount;
  
         for(int k=0;k<ex_count;k++)
         {
              RichEdit1->Lines->Add(ADOQuery4->FieldByName("d")->AsString);
              ADOQuery4->Next();
         }
         ADOQuery4->Close();
         ADOQuery3->Next();
   }
   ADOQuery3->Close();
   ADOQuery2->Next();
}
ADOQuery2->Close();

이런 식으로 서로 다른 테이블에서 반복하여 where로 비교해가면서 필드를 가져와 뿌려주는 식인데요...
각각의 쿼리 결과 row가 많을 때(각각 10개씩만 되도) 속도가 굉장히 느려서 richedit1에 다 뿌려는데 걸리는 시간이 7~8초가 넘게 걸리더라구요....이게 정상적인 속도인지..아니면 더 빠르게 뿌려줄 수 있는 방법이 있는지 알고 싶습니다.
db고수님들의 답변 부탁드리겠습니다

+ -

관련 글 리스트
8767 [질문] mdb-adoquery가 원래 이렇게 속도가 느린가요... h.j 1596 2001/07/05
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.