Oacle 파 티 션 색인 에 대한 자세 한 설명

표 는 range,hash,list 에 따라 구분 할 수 있 습 니 다.표 에 있 는 색인 과 일반 표 에 있 는 색인 이 다 릅 니 다.Oacle 은 파 티 션 표 에 있 는 색인 에 대해 2 가지 로 나 눌 수 있 습 니 다.즉,부분 색인 과 전체 색인 입 니 다.다음은 이 두 가지 색인 의 특징 과 한계점 을 요약 합 니 다.부분 색인 local index 1.부분 색인 은 반드시 파 티 션 색인 이 고 파 티 션 키 는 표 의 파 티 션 키 와 같 으 며 파 티 션 수 는 표 의 파 티 션 수 와 같 습 니 다.한 마디 로 부분 색인 의 파 티 션 메커니즘 은 표 의 파 티 션 메커니즘 과 같 습 니 다.2.부분 색인 열 이 파 티 션 키 로 시작 하면 접두사 부분 색인 이 라 고 합 니 다.3.부분 색인 열 이 파 티 션 키 로 시작 되 지 않 거나 파 티 션 키 열 이 포함 되 지 않 으 면 비 접두사 색인 이 라 고 합 니 다.4.부분 색인 은 파 티 션 시트 에 만 의존 할 수 있 습 니 다.5.접두사 와 비 접두사 색인 은 색인 파 티 션 제 거 를 지원 할 수 있 습 니 다.전 제 는 검색 조건 에 색인 파 티 션 키 를 포함 하 는 것 입 니 다.6.부분 색인 은 파 티 션 의 유일 성 만 지원 하고 표 의 유일 성 을 지원 할 수 없 기 때문에 부분 색인 으로 표 에 유일한 제약 을 하려 면 파 티 션 키 열 을 포함해 야 합 니 다.7.부분 파 티 션 색인 은 하나의 파 티 션 에 대한 것 이 고 각 파 티 션 색인 은 하나의 표 파 티 션 만 가리킨다.전역 색인 은 그렇지 않 습 니 다.하나의 파 티 션 색인 은 n 개의 표 파 티 션 을 가리 킬 수 있 습 니 다.또한 하나의 표 파 티 션 은 n 개의 색인 파 티 션 을 가리 킬 수도 있 습 니 다.파 티 션 표 의 한 파 티 션 에 대해 truncate 나 move,shrink 등 을 하면 n 개의 전체 색인 파 티 션 에 영향 을 줄 수 있 습 니 다.이 때문에 부분 파 티 션 색인 은 더욱 높 은 가용성 을 가지 고 있 습 니 다.8.비트 맵 색인 은 부분 파 티 션 색인 만 가능 합 니 다.9.부분 색인 은 데이터 창고 환경 에 많이 사용 된다.전역 색인 global index 1.전역 색인 의 파 티 션 키 와 파 티 션 수 와 표 의 파 티 션 키 와 파 티 션 수가 다 를 수 있 습 니 다.표 와 전체 색인 의 파 티 션 메커니즘 이 다 를 수 있 습 니 다.2.전역 색인 은 구역 을 나 눌 수도 있 고,구역 을 나 누 지 않 을 수도 있 습 니 다.전역 색인 은 반드시 접두사 색인 이 어야 합 니 다.즉,전역 색인 의 색인 열 은 반드시 색인 구역 키 를 앞 열 로 해 야 합 니 다.3.전역 색인 은 파 티 션 시트 에 의존 할 수 있 습 니 다.비분 구 표 에 의존 할 수도 있다.4.전역 파 티 션 색인 항목 은 여러 파 티 션 을 가리 킬 수 있 습 니 다.따라서 전체 파 티 션 색인 은 한 파 티 션 의 데이터 만 차단 하 더 라 도 rebulid 여러 파 티 션,심지어 전체 색인 이 필요 합 니 다.5.전역 색인 은 oltp 시스템 에 많이 사 용 됩 니 다.6.전역 파 티 션 인덱스 는 범위 나 해시 파 티 션 에 따라 만 지원 되 며,hash 파 티 션 은 10g 이후 에 만 지원 합 니 다.7.Oacle9i 이후 파 티 션 시트 를 move 또는 truncate 로 할 때 update global indexes 문 구 를 사용 하여 전체 파 티 션 색인 을 동기 화하 고 일정한 자원 을 소모 하여 높 은 가용성 을 바 꿀 수 있 습 니 다.8.표 는 a 열 로 파 티 션 을 만 들 고 색인 은 b 로 파 티 션 색인 을 만 듭 니 다.where 조건 에서 b 로 조회 하면 Oacle 은 모든 표 와 색인 의 파 티 션 을 검색 하고 원가 가 파 티 션 보다 높 을 것 입 니 다.이때 b 로 전체 파 티 션 색인 을 만 드 는 것 을 고려 할 수 있 습 니 다.파 티 션 인덱스 사전 DBAPART_INDEXES 파 티 션 색인 개요 통계 정 보 는 표 마다 어떤 파 티 션 색인,파 티 션 색인 유형(local/global)Dba 이 있 는 지 알 수 있 습 니 다.ind_partitions  파 티 션 별 인덱스 의 파 티 션 별 통계 정보 Dbaindexes/dba_part_indexes 는 표 마다 어떤 비 분 구 색인 색인 을 얻 을 수 있 습 니 다.Alter index idxname rebuild partition index_partition_name[online nologging]은 각 파 티 션 색인 에 rebuild 를 해 야 합 니 다.재 구축 할 때 online(표 잠 금 없 음)을 선택 하거나 nologging 이 색인 을 만 들 때 로 그 를 만 들 지 않 고 속 도 를 높 일 수 있 습 니 다.Alter index rebuild idx_name[online nologging]비 파 티 션 색인 에 대해 서 는 전체 index 에서 파 티 션 색인 인 스 턴 스 를 재 구축 할 수 있 습 니 다

--1、  
CREATE TABLE P_TAB( 
C1 INT, 
C2 VARCHAR2(16), 
C3 VARCHAR2(64), 
C4 INT , 
CONSTRAINT PK_PT PRIMARY KEY (C1) 

PARTITION BY RANGE(C1)( 
PARTITION P1 VALUES LESS THAN (10000000), 
PARTITION P2 VALUES LESS THAN (20000000), 
PARTITION P3 VALUES LESS THAN (30000000), 
PARTITION P4 VALUES LESS THAN (MAXVALUE) 
); 
--2、  
CREATE INDEX IDX_PT_C4 ON P_TAB(C4) GLOBAL PARTITION BY RANGE(C4) 

PARTITION IP1 VALUES LESS THAN(10000), 
PARTITION IP2 VALUES LESS THAN(20000), 
PARTITION IP3 VALUES LESS THAN(MAXVALUE) 
); 
--3、  
CREATE INDEX IDX_PT_C2 ON P_TAB(C2) LOCAL (PARTITION P1,PARTITION P2,PARTITION P3,PARTITION P4); 
--4、 ( ) 
CREATE INDEX IDX_PT_C1 
ON P_TAB(C1) 
GLOBAL PARTITION BY RANGE (C1) 

PARTITION IP01 VALUES LESS THAN (10000000), 
PARTITION IP02 VALUES LESS THAN (20000000), 
PARTITION IP03 VALUES LESS THAN (30000000), 
PARTITION IP04 VALUES LESS THAN (MAXVALUE) 
); 
--5、  
SELECT * FROM USER_IND_PARTITIONS; 
SELECT * FROM USER_PART_INDEXES; 

좋은 웹페이지 즐겨찾기