Q&A

  • TQuery 사용시 퍼포먼스 비교
MS SQL을 사용하는데 TQuery Object를 사용하고 있습니다..
BDE에서 Alias를 하나 만들고 TDatabase Object를 만들어 연결한 다음,
여러 개의 TQuery Object를 만들어 하나의 BDE Alias에 연결해 사용합니다..

일단 이 부분에서 알고싶은 것은 이 여러 개의 TQuery Object가 하나의
DB Connection을 공유하는 것인지 별개의 DB Connection을 가지는 것인지
알고 싶습니다..

또한 만일 TQuery Object 별로 별개의 TDatabase Object와 별개의 BDE
Alias를 연결시켜 주는 것이 보다 좋은 성능을 낼 수 있겠는지요?

델파이 5를 사용하고 있구요, ADO 연결에 관해서는 일단 논외로 하면 좋겠습니다..

고수님들의 고견을 기다리겠습니다..
2  COMMENTS
  • Profile
    이중철 2003.02.04 22:07

    일단

    첫째 첫번째질문은 DB Connection을 공유하는 것이 맞습니다.

    둘째는 두번째방법을 해도 큰 이득은 보지 못합니다.

    오히려 SQL-SERVER의 Client수가 증가되어 유저수와 서버의

    점유메모리(Client당 64K)만 증가됩니다.

    세째 제가 했던 방법 (Thread 독립)

    두번째방법과 같으나 각 TQuery당 Thead독립을 했음

    결과는 별로 좋지않음.

    네째 제가 했던 방법 (Process 독립)

    두번째방법과 같으나 각 TQuery당 실행화일을 따로 만들고 실행

    효과는 2배정도 증가 했으나 현실성이 결여

    다섯째 문제해결(Insert만 나머지 Select등은 알아서 해결)

      먼저 DB SPACE를 자동증가가 아닌 Fixed Space로 해야함

    (속도 2~5배증가)

      이래도 안되면 트랙잭션이 심한 TABLE을 각각의 DB로 바꾸고

      하드웨어적으로 분리해야함 즉 하드디스크를 여러개 사용해서

      물리적으로 분리..

    그럼 이만

    PS : 제가 아는것이 미천해서 이 이상은 잘 모르겠네요.
  • Profile
    이충무 2003.02.05 01:16

    먼저 답변 감사합니다..
    그런데, 제가 공력이 딸려서인지 5번째 방법을 잘 모르겠습니다..
    조금만 더 구체적으로 설명해 주시면 감사하겠습니다..  ^^
    • 궁금이
    • 2003.02.04 21:35
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 한만교
      2003.02.05 06:23
      ClientSocket의 Receive 이벤트를 사용해서 데이터를 받으심이 좋을듯합니다. 만약 타이머를 사용할때 시스...
    • 강석찬
      2003.02.05 00:20
      해결했습니다 -_-;;
    • 성더기
      2003.02.05 03:50
      QRRICHTEXT 의 프로퍼티중에 AutoScretch(맞나?) 그걸 True로하고 출력해보세엽..^^
    • 최진술
      2003.02.06 01:55
      감사합니다!  AutoScretch문제와 DetailBand의높이에 문제가 있었네요! 문제해결했습니다!
    • 최임정
      2003.02.04 21:11
      혹시... 퀵레포트의 object inspector 에서 PrinterSettings 의 옵션들중에 First Page와 Last Page...
    • 최진술
      2003.02.06 01:58
      감사합니다!  AutoScretch문제와 DetailBand의높이에 문제가 있었네요! 문제해결했습니다
    • KDDG_BaSTaD
    • 2003.02.04 20:14
    • 3 COMMENTS
    • /
    • 0 LIKES
    • KDDG_ZZOM
      2003.02.05 10:32
      예전에 여기저기서 찾아서 바탕화면에 배경넣기했던건데... 참조하세요... unit Unit1; interface...
    • 구창민
      2003.02.05 04:05
      저 같으면 그냥 윈도그의 위치를 중앙에 두고 Form 스타일을 bsNone 로 만들고 움직이지못하게 만든...
    • KDDG_BaSTaD
      2003.02.05 18:42
      ==> ZZOM님.. 민님 감솨합니다.. 리플을 ㅠ_ㅠ.. 배경화면 넣기네요 ^^; 배경화면 넣기는 제가 만들어...
    • 정주희
    • 2003.02.04 19:50
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2003.02.04 19:00
      안녕하세요 하얀까마귀 입니다. Components 와 ComponentCount 를 이용하시면 될것 같네요.. 자세...
    • 구창민
      2003.02.04 19:00
      for i := 0 to ComponentCount do begin   if Components[i] is TEdit then   beg...
    • KDDG_hyun
      2003.02.04 19:30
      for i := 0 to ComponentCount do 여기에서요 리스트 인덱스 바운드 에러가 나드라구요 그래서 for i...
    • 구창민
      2003.02.04 20:19
      ㅋㅋ 막썼더니 그렇게 되는군.. ComponentCount - 1 하는게 맞다 왜냐면 시작이 0 부터니까 갯수는 ...
    • KDDG_hyun
      2003.02.04 20:44
    • 구창민
      2003.02.04 21:16
      쓰고보니 판넬의 자식들을 찾으려면 그렇게 하면 안된다. 아래처럼 for i := 0 to Pane1.ControlCou...
    • 김민아
    • 2003.02.04 18:37
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2003.02.04 18:48
      안녕하세요 하얀까마귀 입니다. 구조체의 변수가 로그인폼에 있는것 같은데... 첫번째방법은 메인폼...
    • 알롱
    • 2003.02.04 18:01
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 미소나눔
      2003.02.05 00:06
      number 가 문자열일 경우는 Order by 하세여.. select number, name, deposit, withdr ,   ...
    • 알롱
      2003.02.05 00:23
      답변 감사합니다. number는 자동증가 필드입니다. 수고하세요
    • 김진호
    • 2003.02.04 06:25
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이재훈
      2003.02.04 09:32
      저도 관심이 있어서 "DirectX8.0(한글판)도움말"다운 받아놓고 한번도 보지 못했네요... 일본어로 번역된...
    • 김진호
      2003.02.04 21:17
      .
    • 이충무
    • 2003.02.04 06:12
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이중철
      2003.02.04 22:07
      일단 첫째 첫번째질문은 DB Connection을 공유하는 것이 맞습니다. 둘째는 두번째방법을 해도 큰 ...
    • 이충무
      2003.02.05 01:16
      먼저 답변 감사합니다.. 그런데, 제가 공력이 딸려서인지 5번째 방법을 잘 모르겠습니다.. 조금만 더 ...
    • 이경아
    • 2003.02.04 04:17
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 하병준
      2003.02.04 23:10
      예를 들어 a  라는 테이블에 001  라는 데이터가 잇는데 b 라는 테이블에 001 ...
    • 박성훈
      2003.02.04 04:29
      안녕하세요? 질문하신 내용이 좀 애매한데요. 혹시 필터를 말하는 것인가요? 필터는 TQuery나 TTable의...
    • 임형호
      2003.02.04 17:58
      첫번째 질문   DBGrid에는 그런기능을 지원하지 않는걸로 아는데요.  그렇다고 방법...
    • 김민아
    • 2003.02.04 03:42
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2003.02.04 03:52
      안녕하세요~ 구창민입니다. 질문의 너무 간략하군요. 구조체 값을 넘긴다는 말씀은 특정 폼에 있는 ...
    • 전원이
    • 2003.02.04 03:18
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 한만교
      2003.02.04 12:19
      10061은 소켓연결이 되지 않았을경우이거나 연결후 연결이 끊긴상태입니다. 연결을 복원시킬 방법은 관리...
    • 김동석
    • 2003.02.04 03:01
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박성훈
      2003.02.04 04:31
      안녕하세요? Tools-Environment에서 경로설정이 제대로 되어있는지 확인하시구요. rx*.bpl파일을 시스...
    • 최은규
    • 2003.02.04 02:53
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 임우식
      2003.02.05 01:09
      서버가 느릴수도 있구요. mysql연결을 ODBC로 하면 원래 느리고요.-zeos로 연결하면 빨라요... 그런데 아...
    • 이경남
    • 2003.02.04 01:45
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 한만교
      2003.02.04 06:58
      485통신은 1:N이라는 개념보다는 어떤 장비에게 준비신호를 준다는 개념에서 틀리지여.. 1:N이라는 개념...
    • KDDG_RNStone
      2003.02.04 03:53
      저도 초보라 이렇다 말씀 드릴 순 없지만 한 4년 전 쯤 한번 써 본 기억이 납니다. 걍 메인에 해당되...
    • 박성훈
      2003.02.04 04:37
      안녕하세요? 윗쪽에 rxLib설치 에러 질문에 대한 답을 참고해 보세요.
    • 용이...
    • 2003.02.04 01:38
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 한만교
      2003.02.05 06:25
      위에 질문과 중복되는 질문이네여..