database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
ㆍCUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
CUBRID Q&A 1203 게시물 읽기
No. 1203
Q.튜닝관련
작성자
송준석
작성일
2008-08-06 16:51
조회수
4,789

마스터테이블 A(만건), 디테일테이블 B(만건)

 

A 테이블:   A항목1(pk)

                A항목2

 

B 테이블:   B항목1(pk)

                B항목2 -> A항목1

   create index itemp B항목2

 

 

이렇게 마스터 디테일 관계 테이블구조에서

 

select a.* from B테이블 a, A테이블 b

where b.A항목1 = a.B항목2

using index itemp

 

로 실행하고 쿼리플랜을 보면 sscan으로 되고 만여건밖에 안되는데 쿼리 속도가

느려서요 도움요청드립니다...

 

 

이 글에 대한 댓글이 총 2건 있습니다.

B항목2(A항목1(pk))에 해당하는 B테이블의 조회건수와 쿼리플랜을 올려주세요

 

index를 생성해도 분포가 좋지 않아 optimizer가 sscan을 할 수도 있습니다.

 

위의 요청은 해당 index에 대한 데이터 분포도와 수행하신 쿼리 플랜을 확인하기 위해서입니다.

 

 

>마스터테이블 A(만건), 디테일테이블 B(만건)

>

>A 테이블:   A항목1(pk)

>                A항목2

>

>B 테이블:   B항목1(pk)

>                B항목2 -> A항목1

>   create index itemp B항목2

>

>

>이렇게 마스터 디테일 관계 테이블구조에서

>

>select a.* from B테이블 a, A테이블 b

>where b.A항목1 = a.B항목2

>using index itemp

>

>로 실행하고 쿼리플랜을 보면 sscan으로 되고 만여건밖에 안되는데 쿼리 속도가

>느려서요 도움요청드립니다...

 

김범준님이 2008-08-06 17:46에 작성한 댓글입니다. Edit

힌트하고는 다른 꽁수지만

where절에 index가 만들어진 컬럼을 사용하면 인덱스를 탈것 같네요.

만약 컬럼이 숫자이면 where  컬럼 > 0

만약 컬럼이 문자이면 where 컬럼 > ''

이런식으로 하면 인덱스를 탈수도 있을것 같은데요.

주저리주저리...

도움이 되셨길...

조정래(jungrae4)님이 2008-08-08 17:30에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
1207Q.닷넷에서 자바프로시져 결과셋 처리하는 방법 좀 알려주세요
조정래
2008-08-08
5741
1206Q.프로세스 재문의 입니다 [1]
cacus
2008-08-08
4642
1205Q.cubrid 프로세스 관련 [1]
cacus
2008-08-08
4952
1203Q.튜닝관련 [2]
송준석
2008-08-06
4789
1202Q.CM에서 필드 내용 수정시 문의 드립니다. [1]
Antonio
2008-08-05
4587
1201Q.cubrid_fetch 함수 결과 전체 배열에 저장하기? [1]
전동욱
2008-08-04
4920
1200Q.[큐브리드매니저] 인덱스 정보 [2]
gilbird
2008-08-04
4793
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.053초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다