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
운영게시판
최근게시물
PostgreSQL Q&A 6679 게시물 읽기
No. 6679
select에서 index를 해당 컬럼이없는데, 자동으로 타는 원인?
작성자
진상조
작성일
2006-05-12 19:59
조회수
2,511

select에서 해당 컬럼을 쿼리하는데..select조건(where)문에없는데 index를 조건이 변경되어 쿼리를 타는 원인이 무엇인가 알고싶습니다.

예를들어.

db_name : test

컬럼은 ->date, id, name, jumin, jumin1, addr, hp, mp, email, etc 이렇게있습니다.

1번 index는 date

2번 index는 date, id

3번 index는 date, email

 

 

이렇게 세개의 인덱스가 만들어져있습니다.

select * from where date = '20050505' and (id = 'test' or email = 'test@test.com');

이렇게 검색을하면 이상하게 index date를 통하여 처리됩니다.

그래서 검색이 너무 느린 현상이 발생됩니다. or문때문에 해당 index를 못처리하는군요.

그래서 특정 컬럼을 추가했습니다. date, id, name, jumin, jumin1, addr, hp, mp, email, etc, domain, mailfrom =>이것을

이렇게 추가하고 index를 하나 두개 추가했습니다.

4번 index는 date, domain

5번 index는 date, mailfrom

이렇게하고 상위의 쿼리를 실행하니까. 쿼리 5번이 실행되더군요. 쿼리문에는 해당 컬럼조건이 없는데 말이죠.

그러면서 쿼리처리속도가 한 10배정도 빨라졌습니다.

어떻게 이런 현상이 생기는지 궁금합니다.

 

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

vacuum analyze 테이블이름

한번 하시구요

explain, explain analyze 로 쿼리플랜을 보여줘보세요

신기배(소타)님이 2006-05-12 21:00에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
6683postgreSQL7.2.4인스톨시 make에러
김정윤
2006-05-15
2622
6681xlog flush request 3/EC2186D8 is not satisfied 오류
이지석
2006-05-15
2635
6680Postgre 튜닝에 관한 질문 입니다. [2]
JC
2006-05-14
3203
6679select에서 index를 해당 컬럼이없는데, 자동으로 타는 원인? [1]
진상조
2006-05-12
2511
6678CREATE RULE 로 만들 규칙을 수정하는 방법? [2]
손석미
2006-05-12
2618
6677Postgresql 에서의 varbinary(256) 타입. [6]
권용재
2006-05-12
2701
6676Ms-SQL DB의 함수의 리턴값으로 table형을 postgresql용 으로도 생성 가능하나요?
이기자
2006-05-11
2648
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다