DBMS 2

DA, SQL, DB보안 등 실무자를 위한 위한 DB기술 바이블!

테이블 파티셔닝

DBMS 2
DB2 가이드
DB2 사용자 가이드
테이블 파티셔닝
작성자
admin
작성일
2021-02-19 14:51
조회
1848

테이블 파티셔닝

테이블 파티셔닝 개요

테이블 파티셔닝은 다음과 같습니다.
테이블 파티셔닝 은 새로운 범위의 데이터가 계속 추가되어 테이블이 대용량화 되었을 때 Roll-in, Roll-out 기술을 사용하여, 데이터 조회 시 옵티마이저에 의해 불필요한 범위의 스 캔을 하지 않음으로 쿼리 성능을 향상시킵니다.

db2


파티션 추가

Roll-in
파티션 된 테이블은 물리적으로 분리된 저장공간에 저장되어 독립된 오브젝트의 데이터를 논 리적인 하나의 오브젝트로 만들어진 테이블입니다. 파티션 된 테이블에서 각 파티션을 구분 짓 는 range는 기존 데이터와 중첩되지 않는다면 ATTACH 명령으로 새로운 파티션을 Roll-in 할 수 있습니다.

db2

파티션 ATTACH 절차

db2


파티션 제거

Roll-out
파티션 된 테이블에서 기존의 정의된 range 를 DETACH 명령으로 분리 할 수 있습니다. Roll-out된 파티션은 기존 파티션에서 분리되어 사용할 수 없으므로 굳이 DELETE작업을 수 행 할 필요가 없습니다.

db2

파티션 DETACH 절차

db2


파티션 테이블 생성

파티션 된 테이블 작성
테이블의 데이터는 CREATE TABLE문의 PARTITION BY절에 의해 여러 개의 서로 다른 물리적인 저장 공간에 저장 할 수 있습니다. Partition range는 PARTITION BY절의 STARTING FROM 및 ENDING AT 값으로 지정 할 수 있습니다

db2

파티션 테이블 생성을 위한 구문은 아래와 같습니다.


짧은 구문
CREATE TABLE T1(C1 INT) IN tbsp1, tbsp2, tbsp3
PARTITION BY RANGE(C1)
STARTING FROM (1) ENDING (100) EVERY (33)

긴 구문
CREATE TABLE T1(C1 INT) PARTITION BY RANGE(C1)
STARTING FROM (1) ENDING (34) IN tbsp1,
ENDING(67) IN tbsp2,
ENDING(100) IN tbsp3

db2


Detach/Attach/Add 구문

Archive 시킬 파티션은 먼저 DETACH합니다.


connect to TESTDB;
ALTER TABLE IBMDB2.SAWON
DETACH PARTITION P_SAWON_2000
INTO IBMDB2.SAWON_OLD_DETACH;
connect reset;
terminate;

기존 파티션 테이블에 새로운 파티션의 추가 ? 데이터를 가진 기존 테이블인 경우


connect to TESTDB;
ALTER TABLE IBMDB2.SAWON
ATTACH PARTITION P_SAWON_2011
STARTING FROM ('2011-01-01') INCLUSIVE
ENDING AT ('2011-12-31') INCLUSIVE
FROM IBMDB2.SAWON_2011_ATTACH ;
connect reset;
terminate;

기존 파티션 테이블에 새로운 파티션의 추가 ? 빈 파티션만 추가


connect to TESTDB;
ALTER TABLE IBMDB2.SAWON
ADD PARTITION P_SAWON_2012
STARTING ('2012-01-01') ENDING('2012-12-31') IN TSD_IBM02 INDEX IN
TSI_IBM02 ;
connect reset;
terminate;