Q&A

  • 이번엔 최적화에 대한 질문....
예를 들어 기초마스터중에 거래처 화일이 있고 그 안에는 천여개의 레코드가 있습니다...
또, 각 거래처마다 거래사항을 기록하는 전표화일이 있어서 보통 1년에 150,000개 정도의 레코드가 저장됩니다...
이럴때 각 거래처별로 거래사항을 보고싶어요...
물론 거래처별로 세부사항이 표시되고 바로 밑에는 소계도 표시해야 되구요...
어떻게 하면 빨리 처리할 수 있을까요...
지금은 아래와 같이 합니다...

조회용임시화일 생성

거래처화일 OPEN
거래처화일이 종료될때 까지 LOOP
  변수 = 거래처코드 저장
  INSERT를 이용해 전표에 해당 거래처사항의 거래내용을 임시화일에 모두
  기록함.
  SUM을 이용해 소계를 낸다....
거래처화일LOOP-END
다끝나면 최종 합계를 산출한다...

위와같이 하니깐 거래처화일이 늘어날수록 또 전표수가 많아질수록 너무나 조회시간이 늦어집니다....
뭔가 빠른 방법이 없을까요...
참고로 PARADOX테이블이고 실지로는 QUERY를 주로 이용하고 있거던요...
아직 제가 초보적인 수준이라 뭔가 방법이 있을텐데 잘모르겠네요...
방법좀 가르쳐주세요...^^
3  COMMENTS
  • Profile
    하얀까마귀 2002.01.24 01:10
    안녕하세요 하얀까마귀 입니다.

    거래처가 천여개이고 전표테이블이 15만개 정도라면

    SQL 문으로 해결해도되지 않나요??

    아마도 15만건을 다 불러오는데 시간이 걸리는것 같은데...

    SQL 명령어중 Group by 를 사용하시면 그냥 해당 자료의 거래코드별

    합계를 구하실수 있을텐데요. 이방법이 훨신 빨리 될껍니다.

    서버쪽 부하가 좀 걸리긴 하지만....

    그럼 즐거운시간 되세요.

    - 하얀까마귀 -

  • Profile
    이승근 2002.01.24 04:53
    워낙에 초보라서여...
    사용하는 형식만 잠깐 sample로 보여주시면 안될까여???^^
  • Profile
    하얀까마귀 2002.01.25 10:44
    안녕하세요 하얀까마귀 입니다.

    group by 는 해당 그룹으로 특정 연산을 할때 사용합니다.

    예를들어서  
    select class, fMath
    from maTable
    이렇게 하면 class, 하고 ,fMath 가 다나오잖아요.
    그래서 class  별로  fMath의 합계를 구할려고 하면 루프돌려서
    계산한다던지 뭐 이렇게..

    이걸 간단하게 할려면 디비에서 계산해서 결과만 달라고 요청해도 되요.

    select class, sum(fMath)
    from maTable
    group by class
    이렇게 하면 class 필드가 같은 넘들끼리 합계를 내서 보내줘요.
    class 필드에 있는 데이타 값이 종류가 a - c 까지라면
    결과는
    a   5000
    b  200
    c 3000 요렇게 3개만 오죠..

    그럼..

    • 하얀까마귀
      2002.01.24 03:41
      정적배열로 하지 마시구요.. 그냥 동적으로 하시면 안되나?? 아니면 만들어져 있는 TList 를 사용하셔도...
    • 김보현
    • 2002.01.24 01:12
    • 0 COMMENTS
    • /
    • 0 LIKES
    • GanJang
    • 2002.01.24 01:06
    • 3 COMMENTS
    • /
    • 0 LIKES
    • GanJang
      2002.01.24 01:21
      이렇게 하니깐 되기는 되는데... procedure TRegistrationFrm.Button1Click(Sender: TObject); var &...
    • 하얀까마귀
      2002.01.24 01:52
      안녕하세요 하얀까마귀 입니다. 무슨 말인지 잘모르겠어요... 뭐가 문제라고 하시는건지 그리고 뭘할려...
    • GanJang
      2002.01.24 02:00
      흐흐흐 .. 쓰면서 저도 헤깔렸답니다.. -_-;; 제가 착각했군요.. 100 만 딸랑 드러가는 이유를.. ...
    • 이창영
      2002.01.24 01:38
      안녕하십니까.... 똑같은 의문을 품으신 분들이 꽤 되는것 같네요... 저도 저번주 리포트 하나 만들다...
    • 델파이탐크루즈
      2002.01.24 02:07
      [질문] 출력이 되었다가 않되었다가 하거든여...??? 분명히 어제는 되었는데... 오늘은 않되여... 그리...
    • 김경우
    • 2002.01.24 00:05
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김형근
      2002.01.24 19:38
      안녕하십니깐 Helperzero김형근입니다.. 그건 간단합니다. 델파이5.0에서 퀵리포트3.5를쓰면 해결됩니...
    • 김규억
      2002.01.24 18:04
      저두 퀵레포트를 이용해서 XP에서 테스트를 무사히 마쳤는데요... 이상없이 잘 돌아가거든요... ...
    • 오진욱
    • 2002.01.24 00:02
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 오진욱
      2002.01.24 02:12
      -_-;; 역쉬 ConnectionString 틀린거였군요. 게시판 검색해서 나온거 이것저것 다 넣어봤다고 생각했었는...
    • 박성훈
    • 2002.01.23 23:31
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 성낙균
      2002.01.23 23:51
      저역시 조금해보았는데 위의 에러는  client에서 application server프로그램 이  실...
    • 김형우
    • 2002.01.23 22:59
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2002.01.24 01:30
      안녕하세요 하얀까마귀 입니다. 프로퍼티를 만드는거 아니시죠? 프로그램에서 전체 색상 수정하시는 거...
    • 이승근
    • 2002.01.23 22:34
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2002.01.24 01:10
      안녕하세요 하얀까마귀 입니다. 거래처가 천여개이고 전표테이블이 15만개 정도라면 SQL 문으로 해...
    • 이승근
      2002.01.24 04:53
      워낙에 초보라서여... 사용하는 형식만 잠깐 sample로 보여주시면 안될까여???^^
    • 하얀까마귀
      2002.01.25 10:44
      안녕하세요 하얀까마귀 입니다. group by 는 해당 그룹으로 특정 연산을 할때 사용합니다. 예를들어...
    • 이승근
    • 2002.01.23 22:27
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 델파이탐크루즈
      2002.01.23 22:38
      안녕하세요... 첫번째 디테일 밴드에다가 QRSysData의 Data를 qrsDetailCount 해보세요 그러면 되여...
    • 이승근
      2002.01.24 04:49
      설정하는 것을 모르는것이 아니라... 그렇게 해서 page설정이 나오면 a4, b4등등은 있는데 80col, 136co...
    • 장진호
    • 2002.01.23 20:57
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 델파이탐크루즈
      2002.01.23 21:09
      Delphi에는 FindComponent라는 놈이 있습니다.. 말그대로 콤퍼넌트를 찾아 주는 놈이죠... 아주 유용...
    • 천왕봉
      2002.01.23 21:24
      캬~~~ 캄샤함더 요렀게 간단한 방법이 있는데 그동안 노가다를 했네요 감샤합니더
    • 오세종
    • 2002.01.23 20:21
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김형근
    • 2002.01.23 19:54
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2002.01.23 20:23
      안녕하세요 하얀까마귀 입니다. 만건이면 많은데이타라고 볼수 없는데요.. 소형 데이타에 속한다고 ...
    • 이추형
      2002.01.23 20:39
      간략하게 제생각만 말씀드리겠습니다. 만건이라도 Column에 따라 다르겠지요 (무슨 야그냐 하면 컬럼의...
    • 하얀까마귀
      2002.01.24 01:03
      안녕하세요 하얀까마귀 입니다. 그렇겠네요.. 컬럼중에 님의 말씀처럼 어마어마한  컬럼이 있...
    • 이상협
    • 2002.01.23 19:54
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 선해석
    • 2002.01.23 19:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이광수
      2002.01.23 21:25
      ftp는 command port로 21번 data port로 20번을 사용합니다. 파일 전송명령을 21번 포트로 내리면 사용자...
    • 델을배우고파
      2002.01.23 20:59
      400db의 연결을 먼저 false를 시킨후 call하기전에 다시 ture를 시키면 되지 않을까요.....  ...
    • 델파이탐크루즈
      2002.01.23 21:14
      당근이져... 콜하기전에 먼저 False하고 True 하져... 혹시 해보셨나여..? 해보셨으면 지송하지만 C...
    • 버섯
      2002.01.23 22:23
      제가 알기론.. AS/400 에서 메세지 걸리면.. 메세지를 풀어야.. 다음으로 진행됩니다.. 메세지를 안걸리...
    • 델파이탐크루즈
      2002.01.23 23:02
      네... 우선 답변하신 분들께 주님의 은총이 충만하시길 바라오며 좀더 다른 방법을 모색해본후 나오면 ...
    • 오서영
    • 2002.01.23 19:31
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김용택
      2002.02.11 02:22
      TCP/IP 를 사용하시면      ::10.31.58.45:c:dbtest.gdb    &nb...