Oracle

게시글 보기
작성자 유건데이타 등록일 2015-04-17
제목 partitioned index
1. partitioned index의 종류

(1) LOCAL INDEX

local index란 index를 생성한 table과 partitioned index가 equi-partition된
경우를 나타낸다.
즉, index와 table은 같은 컬럼에 의해 partition되며, 하나의 index
partition이 table partition 하나와 대응되며, 대응되는 index partition과
table partition은 각각 같은 범위를 갖게 된다. 결국 특정한 하나의 index에
포함된 모든 key들은 하나의 table partition 내의 data만을 가리키게 된다.

partitioned index는 다시 다음과 같이 prefixed와 non-prefixed로 나누어진다.

(1)-1 local prefixed index

prefixed index는 index에서 맨 앞에 위치한 column에 의해 partition되는
것이며, non-prefixed index는 index에서 맨 앞의 컬럼을 제외한 다른 컬럼에
의해 partition된 경우이다.
local prefixed index는 다음과 같이 생성할 수 있다.

CREATE TABLE dept
(deptno NUMBER NOT NULL,
loc VARCHAR2(10))
PARTITION BY RANGE (deptno)
(PARTITION part1 VALUES LESS THAN(30),
PARTITION part2 values less than (MAXVALUE));

CREATE INDEX dept_idx ON dept(deptno) LOCAL;

(1)-2 local non-prefixed index

index columns들 중 맨 앞에 있는 column으로 partition되지 않은 경우는
non-prefixed index가 된다. 다음과 같이 생성할 수 있다.

CREATE INDEX dept_locidx ON dept(loc) LOCAL;

이러한 non-prefixed index는 특히 historical한 data를 보관하는 table의
경우 유용하다. 즉, 날짜에 따라 table과 index의 partition은 이루어지고,
인덱스는 별도의 사원 번호나 제품 번호와 같이 key가 되는 것에 생성하는
경우이다.
Comment
등록된 코멘트가 없습니다.