장점
CREATE TABLE member (
id VARCHAR2(16)
, name VARCHAR2(30)
, reg_date DATE
)
PARTITION BY RANGE (reg_date) (
PARTITION reg_date1 VALUES LESS THAN (TO_DATE('2023/01/01', 'yyyy/mm/dd')),
PARTITION reg_date2 VALUES LESS THAN (TO_DATE('2024/01/01', 'yyyy/mm/dd')),
PARTITION reg_date3 VALUES LESS THAN (MAXVALUE)
);
CREATE TABLE member (
id VARCHAR2(16)
, name VARCHAR2(30)
, country VARCHAR2(20)
)
PARTITION BY LIST (country) (
PARTITION country1 VALUES ('USA', 'CANADA'),
PARTITION country2 VALUES ('GERMANY', 'FRANCE', 'SPAIN'),
PARTITION country_default VALUES (DEFAULT),
PARTITION country_null VALUNES (NULL)
);
CREATE TABLE member (
id VARCHAR2(16)
, name VARCHAR2(30)
, reg_date DATE
)
PARTITION BY HASH (reg_date) PARTITIONS 4;
CREATE TABLE member (
id VARCHAR2(16)
, name VARCHAR2(30)
, reg_date DATE
, country VARCHAR2(20)
)
PARTITION BY RANGE(reg_date)
SUBPARTITION BY LIST(country)
SUBPARTITION TEMPLATE
(
SUBPARTITION country1 VALUES ('USA', 'CANADA'),
SUBPARTITION country2 VALUES ('GERMANY', 'FRANCE', 'SPAIN'),
SUBPARTITION country_default VALUES (DEFAULT)
)
(
PARTITION reg_date1 VALUES LESS THAN (TO_DATE('2023/01/01', 'yyyy/mm/dd')),
PARTITION reg_date2 VALUES LESS THAN (TO_DATE('2024/01/01', 'yyyy/mm/dd')),
PARTITION reg_date3 VALUES LESS THAN (MAXVALUE)
);
파티션 테이블에 대해 2가지 종류의 파티션 인덱스를 생성할 수 있다.
CREATE INDEX idx_member_01 on member (reg_date) LOCAL;
CREATE INDEX idx_member_01 on member (country) LOCAL;
CREATE INDEX idx_member_01 on member (title) GLOBAL
PARTITION BY hash (title)
PARTITIONS 4;