by 티베로 Tibero Object Tibero Partition Tibero Partition Index [2009.12.16]
테이블뿐만 아니라 인덱스도 파티션을 설정할 수 있다. 인덱스 또한 파티션을 통해 데이터베이스 성능을 향상시킬 수 있다.
인덱스는 두 가지 방법으로 파티션을 설정할 수 있다.
파티션된 테이블에 들어가는 키로 파티션을 나누는 방법이다. 각 파티션에 아무런 정보를 입력하지 않고 단지 LOCAL이라고 선언하면 된다. 이름은 자동으로 생성되며, 그밖의 정보는 디폴트 값으로 설정된다.
로컬 파티션으로 설정된 인덱스는 테이블의 한 파티션과 1:1로 대응된다. 로컬 파티션으로 설정된 인덱스의 한 파티션은 테이블의 한 파티션에 있는 로우만을 가리킨다.
다음은 로컬 파티션 인덱스를 생성하는 예이다.
CREATE TABLE PARTITIONED_TABLE1 (C1 NUMBER, C2 CLOB, C3 NUMBER) PARTITION BY RANGE (C1, C3) ( PARTITION PART1 VALUES LESS THAN (30, 40), PARTITION PART2 VALUES LESS THAN (50, 60), PARTITION DEF_PART VALUES LESS THAN (MAXVALUE, MAXVALUE) ); CREATE INDEX PARTITIONED_INDEX1 ON PARTITIONED_TABLE1 (C1) LOCAL ( PARTITION IPART1 INITRANS 3, PARTITION IPART2 PCTFREE 10, PARTITION IPART3 );
테이블과는 무관하게 인덱스에 따로 파티션을 설정하는 방법이다. 테이블이 파티션으로 나뉘어져 있든 아니든 글로벌 파티션 인덱스를 만들 수 있다.
글로벌 파티션으로 설정된 인덱스의 한 파티션은 테이블의 어느 파티션에 있는 로우라도 가리킬 수 있다.
다음은 글로벌 파티션 인덱스를 생성하는 예이다.
CREATE TABLE PARTITIONED_TABLE1 (C1 NUMBER, C2 CLOB, C3 NUMBER) PARTITION BY RANGE (C1, C3) ( PARTITION PART1 VALUES LESS THAN (30, 40), PARTITION PART2 VALUES LESS THAN (50, 60), PARTITION DEF_PART VALUES LESS THAN (MAXVALUE, MAXVALUE) ); CREATE INDEX PARTITIONED_INDEX1 ON PARTITIONED_TABLE1 (C1) GLOBAL PARTITION BY RANGE (C1, C3) ( PARTITION IPART1 VALUES LESS THAN (10, 20) INITRANS 3 PARTITION IPART2 VALUES LESS THAN (30, 40) PCTFREE 10 );
Tibero RDBMS에서는 파티션 인덱스의 정보를 제공하기 위해 다음 표에 나열된 정적 뷰를 제공하고 있다. DBA나 일반 사용자 모두 사용할 수 있다.
정적 뷰 | 설명 |
---|---|
DBA_PART_INDEXES | Tibero RDBMS 내의 파티션된 모든 인덱스의 정보를 조회하는 뷰이다. |
USER_PART_INDEXES | 현재 사용자에 속한 파티션된 인덱스의 정보를 조회하는 뷰이다. |
ALL_PART_INDEXES | 사용자가 접근 가능한 파티션된 인덱스의 정보를 조회하는 뷰이다. |
- 강좌 URL : http://www.gurubee.net/lecture/2086
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.