美文网首页IT@程序员猿媛程序员
oracle根据多字段创建分区表

oracle根据多字段创建分区表

作者: 把酒拈花板砖 | 来源:发表于2019-03-22 20:22 被阅读13次

    最近有业务场景需要用多个字段做分区表,数据量比较大,保存时间也较长,经过学习与实践,算是基本完成,以下内容为实践样例:

    ---建表语句

    create table t_table

    (

      areacode varchar2(10),

      appdate date,

      text varchar(10)

    )

    partition by range(appdate)--根据字段 appdate 创建主分区

    interval(numtoyminterval(1,'MONTH')) --主分区按 月 自动创建分区

    subpartition by list(areacode) --再按 地区 创建子分区

    subpartition template( --指定明确的子分区信息

    subpartition sub1 values('101'),

    subpartition sub2 values('201'),

    subpartition sub3 values('301')

    )

    (

    partition mainpartition1 values less than(to_date('2019-04-01','yyyy-mm-dd'))--2019年4月1日前的放入mainpartition1分区,之后的自动分区

    )

    ---模拟写入测试数据

    insert into t_table values('101',to_date('2019-03-03','yyyy-mm-dd'),'a');

    insert into t_table values('101',to_date('2019-02-03','yyyy-mm-dd'),'a');

    insert into t_table values('101',to_date('2019-04-03','yyyy-mm-dd'),'a');

    insert into t_table values('201',to_date('2019-03-03','yyyy-mm-dd'),'a');

    insert into t_table values('201',to_date('2019-05-03','yyyy-mm-dd'),'a');

    insert into t_table values('301',to_date('2019-04-01','yyyy-mm-dd'),'a');

    --查询数据

    select * from t_table;

    --查询主分区数据

    select *from t_table partition (mainpartition1);

    --查询子分区数据

    select *from t_table subpartition (mainpartition1_sub1);

    --查看自动创建的主分区

    select * from user_tab_partitions where table_name='T_TABLE'

    相关文章

      网友评论

        本文标题:oracle根据多字段创建分区表

        本文链接:https://www.haomeiwen.com/subject/okqdvqtx.html