파티션 테이블의 인덱스 질문입니다. local, PK, 일반인덱스.... 0 1 1,442

by 도와주십시요 ㅠ,ㅜ [Oracle 기초] [2021.02.26 12:44:26]


create table SALES (
  sales_no       number,
  birth_date     date,
  state          varchar2(2),
  CD             varchar2(8)
)
partition by range (birth_date)
subpartition by list (state) subpartition template
(
  subpartition S1 values ('MA'),
  subpartition S2 values ('CA'),
  subpartition S3 values ('TX'),
  subpartition S4 values ('OH')
)
(
  partition SALES_P1 values less than (to_date('1975/01/01','yyyy/mm/dd')),
  partition SALES_P2 values less than (to_date('1978/01/01','yyyy/mm/dd')),
  partition SALES_P3 values less than (maxvalue)
);
CREATE INDEX SALES_idx1 ON SALES (birth_date, state) LOCAL;

ALTER TALBE SALES ADD CONSTRAINT sales_no_PK PRIMARY KEY (sales_no);

CREATE INDEX SALES_idx1 ON SALES (sales_no, CD) ;

 

질문 입니다. ㅠ.

1.  CREATE INDEX SALES_idx1 ON SALES (birth_date, state) LOCAL;

    파티션 추가 및 변경 시 인덱스 리빌드(글로벌 인덱스)를 피하기 위해 로컬 인덱스를 사용하였습니다.

    로컬 인덱스 생성시 메인 파티션의 컬럼 과 서브파티션의 컬럼을 사용하여 (birth_date, state) LOCAL; 파티션 키만!! 생성 하는게 맞죠???

 

2. 파티션 테이블이 생소한 상태라...;

   파티션 테이블에 LOCAL 인덱스 생성후 별도의 PK 나 일반 인덱스를 생성해도 괜찮은 건가 해요서요;;

by 마농 [2021.02.26 14:43:10]
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입