zoukankan      html  css  js  c++  java
  • oracle 表分区、分区索引

     

     

     

    --|/ range分区
    create table sale(
           product_id varchar2(5),
           sale_count number(10,2)
    )
    partition by range (sale_count)
    (
              partition P1 values less than (1000),
              partition P2 values less than (2000),
              partition P3 values less than (3000)
    );
     
    SELECT * FROM SALE;
     
    select * from user_tab_partitions;
     
    select * from sale partition(p1);
    select * from sale partition(p2);
    select * from sale partition(p3);
    select * from sale partition(p4);
     
    insert into sale values('1',500);
    insert into sale values('2',1300);
    insert into sale values('1',2441);
    commit;
     
    insert into sale values('1',3500);
    commit;
     
    alter table sale add partition p4 values less than(maxvalue);
     
    alter table sale drop partition p4;
     
    SELECT * FROM SALE for update;
     
    alter table sale enable row movement;
     
    update sale set sale_count = 1200 where product_id = '1';
    commit;
    update sale set sale_count = 500 where product_id = '1';
     
    ---------------------------------
    --本地索引
    create index inx_sale on sale(sale_count) local;
     
    select * from user_ind_partitions;
     
    --前缀索引
    create index idx_sale_global global
           partition by range(sale_count)
           (
             partition p1 values less than(),
             partition p1 values less than(maxvalue),
              
           )
    ----------------------
    create table interval_sale
    (sid int, sdate timestamp)
    partition by range(sdate)
    interval (numtoyminterval(1,'MONTH'))
    (
      partition p1 values less than (timestamp '2019-01-01 00:00:00')
    );
     
    select numtoyminterval(1,'MONTH') from dual;
     
    --flashback table emp1 to before drop;
     
    --purge recyclebin;
     
    select * from user_tab_partitions;
     
    insert into interval_sale values(1, to_timestamp('2018-01-01 00:00:00','YYYY-MM-DD HH24:MI:SS.FF'));
    insert into interval_sale values(2, to_timestamp('2019-02-01 00:00:00','YYYY-MM-DD HH24:MI:SS.FF'));
    insert into interval_sale values(3, to_timestamp('2019-03-02 00:00:00','YYYY-MM-DD HH24:MI:SS.FF'));
    insert into interval_sale values(1, to_timestamp('2018-01-01 00:00:00','YYYY-MM-DD HH24:MI:SS.FF'));
    insert into interval_sale values(1, to_timestamp('2020-01-01 00:00:00','YYYY-MM-DD HH24:MI:SS.FF'));
    commit;
     
    select * from interval_sale partition(SYS_P331);
    

      

  • 相关阅读:
    线上redis禁止使用keys等时间复杂度高的命令
    组合索引的使用效果的总结
    Netty 断线重连解决方案
    可作为GC Root的对象
    在同一个sqlSession执行一个相同的查询时,Mybatis有一级缓存,不会去查数据库,由此引发的一个bug
    HashMap 和 currentHashMap JDK8总结
    Java程序导致服务器CPU占用率过高的问题排除过程
    一条sql执行的很慢的原因有哪些
    主键索引和非主键索引的区别
    黑马程序员
  • 原文地址:https://www.cnblogs.com/wuzaipei/p/13391000.html
Copyright © 2011-2022 走看看