FireBird Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
파이어버드 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
IBPhoenix
FireBird Main site
볼랜드포럼 광고 모집

FireBird Q&A
[526] 인덱스를 타는데도 시간이 너무 오래걸립니다.
이실 [sillee] 1892 읽음    2002-11-26 14:46
안녕하세요..
제가 초보라서 맨땅에 헤딩하다가 결국 질문을 올립니다..

windows 2000 에 인터베이스 5.6 을 사용하고 있습니다.
CPU PII 350MHz 램 256M 입니다.

데이터베이스 하나에 테이블은 3개 그중 DDD300이라는 테이블이 가장 큽니다.
트랜젝션수는 3분에 2~3건정도...

DDD300 이라는 테이블은 컬럼은 40개 정도 되고 3,500,000건 정도의 데이터가 들어있습니다.
인덱스는
SQL> show index DDD300;
EDDD300_1 INDEX ON DDD300(SYSTEMNO, AGF, ADDR, DATETIME, DRN)
GDDD300_1 INDEX ON DDD300(SYSTEMNO, AGF, ADDR, DRN)
RDDD300_1 INDEX ON DDD300(SYSTEMNO, AGF, ADDR, DATETIME, DRN)
이렇게 있고요... (왜 같은 컬럼의 EDDD300_1 , RDDD300_1 있는지는 저도잘.. -_-;)

SQL문은 addr을 0~159까지 하나씩 증가시키는 SQL 문을 실행합니다..
select * from ddd300 where systemno=1 and agf=4096 and addr=0 and datetime >= 37586.58895833336 and drn = 21753;
select * from ddd300 where systemno=1 and agf=4096 and addr=1 and datetime >= 37586.58895833336 and drn = 21753;

이렇게 하면 결과가 금방 나옵니다..

SQL>select * from ld300 where systemno=1 and agf=4096 and addr=1 and datetime >= 37586.58895833336 and drn = 21753;
PLAN (LD300 INDEX (REPORTLD300_1))

결과...생략.

Records affected: 1
Current memory = 9578436
Delta memory = 0
Max memory = 15067088
Elapsed time= 0.01 sec
Cpu = 0.00 sec
Buffers = 1024
Reads = 0
Writes = 0
Fetches = 31

SQL>


그런데 문제는
select * from ddd300 where systemno=1 and agf=4096 and addr=2 and datetime >= 37586.58895833336 and drn = 21753;
처럼 addr=2 로 하고 실행시키면

SQL>select * from ddd300 where systemno=1 and agf=4096 and addr=2 and datetime >= 37586.58895833336 and drn = 21753;
PLAN (LD300 INDEX (REPORTLD300_1))

결과 ..생략

Records affected: 1
Current memory = 12242892
Delta memory = 2706432
Max memory = 15067088
Elapsed time= 69.48 sec
Cpu = 2.44 sec
Buffers = 1024
Reads = 24289
Writes = 0
Fetches = 313446

처럼 실행 시간이 너무 오래걸린다는 거죠.. T.T
분명히 인덱스도 같이 타는데 왜그런지... ?
제가 잘 모르는 무언가가 있는건지요..

다른 해결방법같은건 없을까요?

그럼 감사드립니다..

+ -

관련 글 리스트
526 인덱스를 타는데도 시간이 너무 오래걸립니다. 이실 1892 2002/11/26
528     Re:인덱스를 타는데도 시간이 너무 오래걸립니다. Tk 2065 2002/11/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.