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
[35993] [질문]데이타 업데이트시 속도처리문제
하안인 [hurco] 747 읽음    2004-07-01 10:29
두개의 데이타가 존재하는데 한 테이블에서 조건에 맞는 퀴리를 구해 얻은다음
다른 테이블에 업데이트하려고 합니다.

즉 A,B 테이블에서 A의 레코드수는 40만개 B는 8만개정도.
이중에서 하나의 같은 필드를(예 지역)얻어서 한 필드값을 소스로부터 얻어와
업데이트하려고 합니다.

  String str1,str2,cc;
  str1 = String("select * from A where 지역='")+Edit1->Text+String("' and aa <> 'SUC'");
  str2 = String("select * from B where 지역='")+Edit1->Text+String("'");
  Query1->Close();
  Query2->Close();
  Query1->SQL->Add(str1);
  Query2->SQL->Add(str2);
  Query1->Open();
  Query2->Open();
  while(!Query2->Eof)
  {
     Query2->Edit();
     Query2->FieldByName("이름")->AsString = Query1->FieldByName("이름")->AsString;
     Query2->FieldByName("전화")->AsString = Query1->FieldByName("전화")->AsString;
     Query2->Post();
     Query1->Edit();
     Query1->FieldByName("aa")->AsString = "SUC";
     Query1->Post();
     Query1->Next();
     Query2->Next();
  }
  Query1->Close();
  Query2->Close();
이렇게 하니 한 지역만 업데이트 하는데도 시간이 엄청 걸립니다.
지금도 진행중인데 40분이 넘었습니다.

테이블을 보니 한 레코드를업데이트하는데 5~7초정도 걸리는 것 같습니다.

다른 방법이 없을까요.

+ -

관련 글 리스트
35993 [질문]데이타 업데이트시 속도처리문제 하안인 747 2004/07/01
35998     Re:[질문]데이타 업데이트시 속도처리문제 유영인 Cuperido 812 2004/07/01
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.