oracle是否可以为某一个分区表建立单个分区,比如一个表有五个分区,如何只给第一个分区加索引?
答案:2 悬赏:60 手机版
解决时间 2021-02-14 17:46
- 提问者网友:感性作祟
- 2021-02-14 13:40
oracle是否可以为某一个分区表建立单个分区,比如一个表有五个分区,如何只给第一个分区加索引?
最佳答案
- 五星知识达人网友:詩光轨車
- 2021-02-14 14:46
创建一个分区表
create table p_table(month varchar2(10),prov varchar2(10),cost_fee number)
partition by range(month) --范围分区
(partition p1 values less than ('201403'),
partition p2 values less than ('201406'),
partition p3 values less than ('201409'),
partition p4 values less than (maxvalue));
--插入记录
insert into p_table values('201402','aaa',111);
insert into p_table values('201403','b',2);
insert into p_table values('201404','c',3);
insert into p_table values('201405','d',4);
insert into p_table values('201406','e',5);
insert into p_table values('201407','f',6);
select * from p_table partition(p2);--查询分区表的第一个分区的内容
select * from user_extents where segment_name='P_TABLE' --查看表的分区信息
--为分区表建立索引
create index index_p_month on p_table(month) local (partition p1,partition p2,partition p3,partition p4);--索引的分区数必须等于基本表的分区数
create table p_table(month varchar2(10),prov varchar2(10),cost_fee number)
partition by range(month) --范围分区
(partition p1 values less than ('201403'),
partition p2 values less than ('201406'),
partition p3 values less than ('201409'),
partition p4 values less than (maxvalue));
--插入记录
insert into p_table values('201402','aaa',111);
insert into p_table values('201403','b',2);
insert into p_table values('201404','c',3);
insert into p_table values('201405','d',4);
insert into p_table values('201406','e',5);
insert into p_table values('201407','f',6);
select * from p_table partition(p2);--查询分区表的第一个分区的内容
select * from user_extents where segment_name='P_TABLE' --查看表的分区信息
--为分区表建立索引
create index index_p_month on p_table(month) local (partition p1,partition p2,partition p3,partition p4);--索引的分区数必须等于基本表的分区数
全部回答
- 1楼网友:慢性怪人
- 2021-02-14 16:12
不一定
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯