范围分区与散列分区或列表分区的组合
语法:
PARTITION BY RANGE (column_name1)
SUBPARTITION BY HASH (column_name2)
SUBPARTITIONS number_of_partitions
(
PARTITION part1 VALUE LESS THAN(range1),
PARTITION part2 VALUE LESS THAN(range2),
...
PARTITION partN VALUE LESS THAN(MAXVALUE)
);
例:
CREATE TABLE SALES
(
PRODUCT_ID VARCHAR2 (5),
SALES_DATE DATE NOT NULL,
SALES_COST NUMBER (10)
)
PARTITION BY RANGE (SALES_DATE)
SUBPARTITION BY HASH (PRODUCT_ID)
SUBPARTITIONS 5
(
PARTITION S1 VALUES LESS THAN (TO_DATE(‘01/4月/2001','DD/MON/YYYY')),
PARTITION S2 VALUES LESS THAN (TO_DATE(‘01/7月/2001','DD/MON/YYYY')),
PARTITION S3 VALUES LESS THAN (TO_DATE(‘01/9月/2001','DD/MON/YYYY')),
PARTITION S4 VALUES LESS THAN (MAXVALUE)
);