oracle创建包含子分区的分区

之前做零售内评项目的时候,由于要统计了很多的字段的近12月均值,近6月均值,等等,所以把每个指标都按月打平到一个表里了。
形成了
指标名称 月末指标,1月前月末指标,2月前月末指标,。。。12月前月末指标等
这样的话,就把各个指标名称都放到了一个表里,比如余额,逾期金额,实际还款总金额,实际还款总金额占应还总金额比例,逾期天数等。
由于数据量也不少,大概有十几万,所以就用到了一个subpartition的概念。

CREATE TABLE XXX(
COL_NAME COL_TYPE,...)
PARTITION BY LIST(STAT_DT)
SUBPARTITION BY LIST(INDEX_NAME)
SUBPARTITION TEMPLATE
(
SUBPARTITION P_BALANCE VALUES('BALANCE')
,SUBPARTITION P_OVERDUE_BAL VALUES('OVERDUE_BAL')
,...(PARTITION BY P_19000101 VALUES (DATE'1900-01-01'))
;

这种方式特殊在使用了一个subpartition template,就是说以后只需要简历Partition之后,会自动在partition里面简历template所包含的subpartition。
所以只需要写

ALTER TABLE XXX ADD PARTITION P_20200101 VALUES (DATE'2020-01-01')

即可创建一个包含了n个子分区的分区了。
同理,truncate,drop也是一样的。
在对数据的使用上。
需要用

SELECT * FROM XXX SUBPARTITION (P_19000101_P_BALANCE) ;

的样式来查询。
partitionname_subpartitionname

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值