- 什么时候需要分区
1.1数据表大于2g,优化数据查询、数据新增性能;
1.2新旧数据使用频率不同,旧数据存储到固定分区便于维护。
- 分区键限制
2.1一个或者多个字段来确定哪个分区;
2.2不能LEVEL、ROWID等字段;
2.3不能NOTABLE。
- 分区表类型
3.1范围分区(Range Partition)
CREATE TABLE time_range_sales
( prod_id NUMBER(6)
, cust_id NUMBER
, time_id DATE
, channel_id CHAR(1)
, promo_id NUMBER(6)
, quantity_sold NUMBER(3)
, amount_sold NUMBER(10,2)
)
PARTITION BY RANGE (time_id)
(PARTITION SALES_1998 VALUES LESS THAN (TO_DATE('01-JAN-1999','DD-MON-YYYY')),
PARTITION SALES_1999 VALUES LESS THAN (TO_DATE('01-JAN-2000','DD-MON-YYYY')),
PARTITION SALES_2000 VALUES LESS THAN (TO_DATE('01-JAN-2001','DD-MON-YYYY')),
PARTITION SALES_2001 VALUES LESS THAN (MAXVALUE)
);