分区表,子分区表

分区表:

当一张表的数据不断累积增大,使得查询的速度变慢,业务程序性能降低。这个时候可以考虑分区表,分区表逻辑上是一张表,单表的数据文件可以放到不同的表空间下面,提高查询的速度。

分区表partition 分为list,range,hash分区以及组合分区

子分区表subpartition 分为list,range,hash以及组合分区


举例说明:

现在业务上有一张表  test,表中包涵字段id,createtime,deptno,name,city等等字段

我们在设计分区表的时候选择createtime作为范围分区,deptno作为子分区list分区

语句:

create table test_p_s (id number,createtime date,deptno number,name varchr2(20),city varchar2(20) ....... )

partition by range(createtime)

subpartition by list(deptno)

(

partition p1 values less than (to_date('2016-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss'))

(subpartition s1_1 values(10)  tablespace  x1,

subpartition s1_2  values(20)  tablespace x2),

partition p2 values less than (to_date('2016-02-01 00:00:00','yyyy-mm-dd hh24:mi:ss'))

(subpartition s2_1 values(10)  tablespace  x1,

subpartition s2_2  values(20)  tablespace x2));


增加分区表

alter table test_p_s add partition p3 values  less than (to_date('2016-03-01 00:00:00','yyyy-mm-dd hh24:mi:ss'))

(subpartition s3_1 values(10)  tablespace  x1,

subpartition s3_2  values(20)  tablespace x2));


你可能感兴趣的:(分区表,子分区表)