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
운영게시판
최근게시물
Oracle Tutorials 11937 게시물 읽기
No. 11937
INDEX 생성 시 고려 사항.
작성자
정재익(advance)
작성일
2002-09-07 21:13
조회수
9,926

INDEX 생성 시 고려 사항

=======================

 

데이타베이스 질의 시 주로 인덱스 사용을 유도하여 질의의 성능을 높이는 작업을

하게 된다. 대부분의 질의 시 통계적으로 ORACLE OPTIMIZER는 질의 작업에서 이용

되는 operation과 object들의 통계 정보를 이용하여 효율적인 실행 계획을 수립

하게 된다.

 

date data를 갖는 경우 주로 character type과 date type의 2가지 데이타 형을

사용하게 된다.

이 두가지 형의 자료 유형으로 date 유형의 column을 지정할 때 몇 가지 고려해야

할 요소들이 있는데 이는 질의 수행 시 데이타 형과 operation에 따라 index가

사용될 수 있는 경우와 없는 경우로 나누어지기 때문이다.

아래는 index가 이용되지 못하는 일반적인 경우이다.

 

-------------------------------------------------

index가 사용되지 않는 경우

 

1. 연산자

- !=

- IS NULL

- NOT IN list

- LIKE 날짜 또는 column number

- LIKE '%'로 시작되는 비교 문자열

 

2. indexed column

- 표현식이나 함수에 의해 수정되는 경우

- 형 변환되는 경우

- 같은 table의 다른 column과 비교되는 경우

-------------------------------------------------

 

만일 data를 character type으로 설정한 경우 like 연산 시 index를 사용할 수

있게 된다.

반면에 date type으로 지정한 경우에는 index가 사용되지 못하게 된다.

 

예> datecol이 date type인 경우

 

datecol like '17-DEC-80%'; => index가 사용되지 못함.

 

만일 character type으로 지정된 경우 date format을 변경하기 위해 형 변환

function들이 사용되는 경우가 발생할 것이다.

 

이렇게 연산의 종류와 data type에 따라 index가 사용되는 경우와 사용되지 않는 경우가 있으므로 column data type을 결정하기 전에 연산의 종류와 자료형에 대한 관계를 고려하여 결정해야 한다.

 

* 복합 인덱스의 경우는 where절에 들어가는 index column의 비교 순서는 상관 없지만 가장 앞에 지정한 컬럼은 반드시 비교 조건에 주어야 해당 인덱스를 사용한다. 예를 들어 index를 column a+b+c 로 구성하였다면 where 절에 b, c column만 비교한다거나 c column만 비교하면 index를

사용하지 못하며 반드시 a column이 포함되어야 한다.

[Top]
No.
제목
작성자
작성일
조회
11940Reference Note for Init.Ora Parameter "AUDIT_TRAIL
정재익
2002-09-07
7146
11939SHARED_POOL_SIZE
정재익
2002-09-07
10754
11938DB_BLOCK_BUFFERS
정재익
2002-09-07
8327
11937INDEX 생성 시 고려 사항.
정재익
2002-09-07
9926
11936DATE TYPE 데이타를 효과적으로 조회하는 방법
정재익
2002-09-07
11998
11935DBMS_JOB PACKAGE의 사용 방법과 예제
정재익
2002-09-07
10591
11934NLS_DATE_FORMAT에 대한 고려
정재익
2002-09-07
8848
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.045초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다