创建range-hash组合分区
语法如下:图[composite_partitioning.gif]
需要我们指定的有:
lcolumn_list:分区依赖列(支持多个,中间以逗号分隔);
lsubpartition:子分区方式,有两处:
nSubpartition_by_list:语法与list分区完全相同,只不过把关键字partition换成subpartition
nSubpartition_by_hash:语法与hash分区完全相同,只不过把关键字partition换成subpartition
lpartition:分区名称;
lrange_partition_values_clause:与range分区范围值的语法;
ltablespace_clause:分区的存储属性,例如所在表空间等属性(可为空),默认继承基表所在表空间的属性。
组合分区相对于普通分区,语法上稍稍复杂了一些,但也正因如此,其子分区的创建可以非常灵活,下面分别举几个例子(注:仅示例,并非穷举所有形式)
①为所有分区各创建4个hash子分区
JSSWEB> create table t_partition_rh (id number,name varchar2(50))
2 partition by range(id) subpartition by hash(name)
3 subpartitions 4 store in (tbspart01, tbspart02, tbspart03,tbspart04)(
4 partition t_r_p1 values less than (10) tablespace tbspart01,
5 partition t_r_p2 values less than (20) tablespace tbspart02,
6 partition t_r_p3 values less than (30) tablespace tbspart03,
7 partition t_r_pd values less than (maxvalue) tablespace tbspart04);
表已创建。
JSSWEB> select partitioning_type,subpartitioning_type,partition_count,def_subpartition_count
2 From user_part_tables where table_name='T_PARTITION_RH';
PARTITI SUBPART PARTITION_COUNT DEF_SUBPARTITION_COUNT
------- ------- --------------- ----------------------
RANGE HASH 4 4