--list_range  示例   
drop table list_range_tab purge;

create table list_range_tab
(n1 number,n2 date)
partition by list(n1)
subpartition by range(n2)
(partition p01 values(1)
  ( subpartition  subp01 values less than (to_date('3001-01-01 22:00:00','yyyy-mm-dd hh24:mi:ss')),
    subpartition  subp_default values less than (maxvalue)
    ))
 
 
 
 
 
--range_list  示例   
drop table range_list_tab purge;

create table range_list_tab
(n1 date,n2 number)
partition by range(n1)
subpartition by list(n2)
(partition p01 values less than (to_date('3001-01-01 22:00:00','yyyy-mm-dd hh24:mi:ss'))
  ( subpartition  subp01 values(1) ),
 partition  p_default values less than (maxvalue)
    );  
 
 
 
--range_list_inter  主分区自动分区 子分区自动分区示例   
drop table range_list_tab_inter purge;
 
--按天自动分区
create table range_list_tab_inter_dd
(n1 date,n2 number)
partition by range(n1)
interval(numtodsinterval(1,'day'))
subpartition by list(n2)
(partition p01 values less than (to_date('3001-01-01 22:00:00','yyyy-mm-dd hh24:mi:ss'))
  ( subpartition  subp01 values(1) ,
    subpartition               subp_default values(default))
    );

insert into range_list_tab_inter_dd values(to_date('3001-01-01 22:00:00','yyyy-mm-dd hh24:mi:ss'),1);
insert into range_list_tab_inter_dd values(to_date('3001-02-01 22:00:00','yyyy-mm-dd hh24:mi:ss'),1);
insert into range_list_tab_inter_dd values(to_date('3001-03-01 22:00:00','yyyy-mm-dd hh24:mi:ss'),1);

insert into range_list_tab_inter_dd values(to_date('3001-01-01 22:00:00','yyyy-mm-dd hh24:mi:ss'),111);
insert into range_list_tab_inter_dd values(to_date('3001-02-01 22:00:00','yyyy-mm-dd hh24:mi:ss'),222);
insert into range_list_tab_inter_dd values(to_date('3001-03-01 22:00:00','yyyy-mm-dd hh24:mi:ss'),333);
insert into range_list_tab_inter_dd values(to_date('3001-03-01 22:00:00','yyyy-mm-dd hh24:mi:ss'),444);
insert into range_list_tab_inter_dd values(to_date('3001-03-01 22:00:00','yyyy-mm-dd hh24:mi:ss'),555);

select t1.table_name,
       t1.partition_position,
       t1.partition_name,
       t2.subpartition_position,
       t2.subpartition_name
       
  from user_tab_partitions t1, user_tab_subpartitions t2
 where t1.table_name = t2.table_name
   and t1.table_name = 'RANGE_LIST_TAB_INTER'
   order by t1.partition_position asc,t2.subpartition_position asc;

select * from user_tab_subpartitions where table_name = 'RANGE_LIST_TAB_INTER_DD'

--按月自动分区
drop table range_list_tab_inter_mm purge;

delete from range_list_tab_inter_mm ;

create table range_list_tab_inter_mm
(n1 date,n2 number)
partition by range(n1)  --指定 主分区 以 n1 字段做 range 分区
interval(numtoyminterval(1,'month'))  --指定主分区的扩展方式
subpartition by list(n2)          --指定 子分区 以 n2 字段 做 list 分区
(partition p01 values less than (to_date('3001-01-01 22:00:00','yyyy-mm-dd hh24:mi:ss'))  --指定主分区1的上限
  ( subpartition  subp01 values(1) ,                --指定子分区1 的 值
    subpartition               subp_default values(default))       --指定子分区 的 默认值,保证所有数据都可以入库
    );

insert into range_list_tab_inter_mm values(to_date('3001-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss'),1);
insert into range_list_tab_inter_mm values(to_date('3001-02-01 00:00:00','yyyy-mm-dd hh24:mi:ss'),1);
insert into range_list_tab_inter_mm values(to_date('3001-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss'),3);

select t1.table_name,
       t1.partition_position,
       t1.partition_name,
       t2.subpartition_position,
       t2.subpartition_name
       
  from user_tab_partitions t1, user_tab_subpartitions t2
 where t1.table_name = t2.table_name
   and t1.table_name = 'RANGE_LIST_TAB_INTER_MM'
   order by t1.partition_position asc,t2.subpartition_position asc;

​ oracle分区表(附带按照月自动分区、按天自动分区)的更多相关文章

  1. oracle分区表按时间自动创建

    表分区是一种思想,分区表示一种技术实现.当表的大小过G的时候可以考虑进行表分区,提高查询效率,均衡IO.oracle分区表是oracle数据库提供的一种表分区的实现形式.表进行分区后,逻辑上仍然是一张 ...

  2. 深入学习Oracle分区表及分区索引

    关于分区表和分区索引(About Partitioned Tables and Indexes)对于10gR2而言,基本上可以分成几类: •       Range(范围)分区 •       Has ...

  3. Oracle分区表做跨分区查询

    问:有一张大表,其中按时间字段(TIME_ID)进行表分区(按季度分区),但是如果业务人员做跨季度的大批量数据的查询时,未能走TIME_ID分区索引,导致全表扫描.此种情况该如何处理? 示例解析: 1 ...

  4. 转:深入学习Oracle分区表及分区索引

    转自:http://database.ctocio.com.cn/tips/286/8104286.shtml 关于分区表和分区索引(About Partitioned Tables and Inde ...

  5. oracle 分区表和分区索引

    很复杂的样子,自己都没有看完,以备后用 http://hi.baidu.com/jsshm/item/cbfed8491d3863ee1e19bc3e ORACLE分区表.分区索引ORACLE对于分区 ...

  6. oracle分区表的建立方法(包含已经存在的表要分区)分享,非常好

    非原创 Oracle提供了分区技术以支持VLDB(Very Large DataBase).分区表通过对分区列的判断,把分区列不同的记录,放到不同的分区中.分区完全对应用透明. Oracle的分区表可 ...

  7. ORACLE分区表、分区索引详解

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt160 ORACLE分区表.分区索引ORACLE对于分区表方式其实就是将表分段 ...

  8. 【三思笔记】 全面学习Oracle分区表及分区索引

    [三思笔记]全面学习Oracle分区表及分区索引 2008-04-15 关于分区表和分区索引(About PartitionedTables and Indexes) 对于 10gR2 而言,基本上可 ...

  9. 简单ORACLE分区表、分区索引

    前一段听说CSDN.COM里面很多好东西,同事建议看看合适自己也可以写一写,呵呵,今天第一次开通博客,随便写点东西,就以第一印象分区表简单写第一个吧. ORACLE对于分区表方式其实就是将表分段存储, ...

随机推荐

  1. Facebook ads_Business Manager

    xmind 下载链接

  2. 非托管C++互操作

    .NET简谈互操作(一:开篇介绍) .NET简谈互操作(二:先睹为快) .NET简谈互操作(三:基础知识之DllImport特性) .NET简谈互操作(四:基础知识之Dispose非托管内存) .NE ...

  3. Leetcode66-Plus One-Eassy

    Given a non-empty array of digits representing a non-negative integer, plus one to the integer. The ...

  4. 【Python】【有趣的模块】【requests】【一】HTTP头信息总结

    [HTTP请求 == 请求行 + 消息报头 + 请求正文 ] 请求行:Method Request-URL HTTP-Version CRLF HTTP协议定义了许多与服务器交互的方法 ① PUT:请 ...

  5. CPU核数和load average的关系

    在前面的文章<Linux系统监控——top命令>中我简单提到了,判断load average的数值到底大不大的判断依据,就是数值除以CPU核数,大于5,就说明超负荷运转了.——这里其实不太 ...

  6. 实现一个优先级队列,每次pop 返回优先级最高的元素

    demo1 实现一个按优先级排序的队列, 并且在这个队列上面每次 pop 操作总是返回优先级最高的那个元素 import heapq class PriorityQueue: def __init__ ...

  7. 添加删除tag

    为某个分支打tag git tag -a v1. 9fceb02 删除tag git tag -d test_tag git push origin --delete tag test_tag 推送: ...

  8. memcached: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory

    1.在http://libevent.org/   下载libevent-2.0.22-stable.tar.gz 2.tar -zxvf libevent-2.0.22-stable.tar.gz ...

  9. VC.时间(网页内容收集)

    1.VC++获得当前系统时间的几种方案_记忆53秒_新浪博客.html(http://blog.sina.com.cn/s/blog_676271a60101i0hb.html) 1.1.内容保存: ...

  10. $(document).ready和window.onload,细微小区别,ready是jQuery的方法,onload是window的方法

    $(document).ready和window.onload的区别 $(document).ready和window.onload都是在都是在页面加载完执行的函数,大多数情况下差别不大,但也是有区别 ...