데이타베이스 질의 시 주로 인덱스 사용을 유도하여 질의의 성능을 높이는 작업을
하게 된다. 대부분의 질의 시 통계적으로 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이 포함되어야 한다.
트랙백 주소 :: http://frok.info/man/trackback/43
-
Subject: 인덱스 관리 (Managing Indexes)
Tracked from about Frok's 2007/02/08 11:45 삭제인덱스 관리.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 1. 인덱스의 분류 A. 단일 인덱스와 결합 인덱스 i. 딘일 인덱스 : 단일 열 인덱스는 인덱스 키에 오직 하나만의 열을 갖습..




댓글을 달아 주세요
너의 위치를 방문한 즐기는!
이 위치는 유익한뿐 아니라 재미있는다!
우수한 일! 감사!
너는 위치가 우수한 있는다!
여기 이것은 뉴스 있다!
나는 배웠다 매우…
좋은 위치는 찾아본 그것 즐겼다!
나는 합의한다 너에 이다. 그것은 이렇게 이다.
친구는 너의 현재 위치의 팬이 되었다!
걸출한 위치! 많은 감사.
너는 위치를차가운 만들었다!
우수한 디자인!!
재미있는 아주 지점. 감사.
여보세요, 좋은 아주 위치!