前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >oracle--表分区、分区索引

oracle--表分区、分区索引

作者头像
eadela
发布2019-09-29 16:12:25
1.2K0
发布2019-09-29 16:12:25
举报
文章被收录于专栏:eadelaeadela
代码语言:javascript
复制
--|/ 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);
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档