关于oralce创建组合分区带模板的创建语句

 第一次发帖 如有错误希望各位大神指正

下面来介绍一下组合分区中RANGE-LIST分区的创建方法:

 说明:

分区你可以抽象的理解为把一个超大的表按照某个字段分解成多个小的部分方便查询效率等,当然也是一种存储的手段;

    ORACLE中有三大分区,分别为LIST(列表分区)、RANGE(范围分区)、HASH(哈希分区)

    组合分区又分为10g与11g的差别:oracle10g中的组合分区(复合分区)主要有RANGE-LIST(范围列表分区)RANGE-HASH(范围哈希分区);

    ORALCE11g中又新增了多个组合分区,RANGE-RANGE、LIST-RANGE、LIST-HASH和LIST-LIST;

 ORACLE中的组合分区主要是针对大数据的处理数据的存储而言,一般用来封存历史数据,如果某个省中有多个地市,同时每个月也会有相应的数据,

 这样这种情况下比较适合RANGE-LIST分区,

  但是这种范围列表分区有一个缺陷就是:当你要删除范围列表分区中的中间的某个子分区的时候,你将无法在创建该删除过的子分区,这个需要特别的注意;

 

以下为一个简单地创建RANGE-LIST组合分区的例子:

create  table  test_partition (name_id  varchar2(10),
                                                          month_id varchar2(10),
                                                          area_code  varchar2(10)                                                          )
                                                         
 partition by range(month_id) subpartition by LIST (area_code)  --指定按照账期RANGE分区 ;area_code为子分区
  subpartition template(                --子分区模板
      subpartition P0531 values  ('0531'),
      subpartition P0532 values  ('0532'),
      subpartition P0533 values  ('0533'),
      subpartition P0534 values  ('0534')
  )  (partition P201405 values less than ('201406') )  tablespace test_tablespace; --添加第一个分区并指定表空间
 

--子分区

--添加子分区的语句
alter tables  test_partition  add partition P201406  values less than ('201407'); 

--清空子分区的语句

  --清空子分区P201405下边子分区P201405_P0531;

alter table test_paetition  truncate subpartition P201405_P0531;

--删除某个子分区

alter table test_partition drop subpartition P201405_P0531;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值