oracle表分区学习整理

  1. 什么时候需要分区

1.1数据表大于2g,优化数据查询、数据新增性能;

1.2新旧数据使用频率不同,旧数据存储到固定分区便于维护。

  1. 分区键限制

2.1一个或者多个字段来确定哪个分区;

2.2不能LEVEL、ROWID等字段;

2.3不能NOTABLE。

  1. 分区表类型

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)

    );

 

你可能感兴趣的:(数据库)