SSISO Community

시소당

[ORACLE] 파티션 테이블 만들기

대량 데이타 DB ware 에서는 partition table 관리가 필수다.
일별로 데이타를 저장하거나.
또는 주문 번호 순으로..등등..

일단 하나 만들어보자.

CREATE TABLE 파티션테이블
(
  "기준일"         VARCHAR2(8),
  "칼럼1"       VARCHAR2(10),
  "칼럼2"       VARCHAR2(14),
  ......
)
PARTITION BY RANGE("기준일")
(
  PARTITION 파티션이름 VALUES LESS THAN ('값')
    TABLESPACE 테이블스페이스이름
    PCTFREE 5
    PCTUSED 95
    INITRANS 1
    MAXTRANS 255
    NOLOGGING
    STORAGE (
      INITIAL 104857600
      NEXT 104857600
      MINEXTENTS 1
      MAXEXTENTS UNLIMITED
      PCTINCREASE 0
      FREELISTS 1
      FREELIST GROUPS 1
      BUFFER_POOL DEFAULT
    )
)   

- 파티션별로 테이블 스페이스를 할당할수 있다.
- 물리적 접금이 파티션별로 가능하다.
  (이는 실행시 좀더 테이블 풀 스캔을 하지않고
   바로 해가 값의 파티션을 읽는 장점이 있다)


 

그럼 파티션 추가는 ?
파티션 range를 날자로 했는데 날자를 추가하고 싶다.~!
ALTER TABLE 테이블이름 ADD PARTITION 파티션이름 VALUES LESS THAN (값)
PCTFREE 5   PCTUSED 95 STORAGE (INITIAL 1024M NEXT 128M) TABLESPACE 테이블스페이스이름;

2743 view

4.0 stars