Oracle数据库下的大数据表做分区以提高数据读取效率:PLSQL里操作,直接上代码:--目的:用表分区转换大表数据,演示中只是用5000条数据;
--建表T
create table t(id number,name varchar2(10));
insert into t select rownum+4,"1,2,3,4" from dual connect by rownum<=5000;
commit;
select count(1) from t ;
--创建表空间
create tablespace ts_1 datafile "E:oracleproduct10.2.0oradataorcl s_1.dbf" size 50m reuse;
create tablespace ts_2 datafile "E:oracleproduct10.2.0oradataorcl s_2.dbf" size 50m reuse;
create tablespace ts_3 datafile "E:oracleproduct10.2.0oradataorcl s_3.dbf" size 50m reuse;
--创建新表及分区
create table t_new partition by range(id)(
partition p1 values less than (2000) tablespace ts_1,
partition p2 values less than (4000) tablespace ts_2,
partition p3 values less than (maxvalue) tablespace ts_3)
as select * from t;
--删除老表并更换名字
truncate table t;
drop table t;
alter table t_new rename to t;
--检查各分区的数据
select count(*) from t partition (p1);
select count(*) from t partition (p2);
select count(*) from t partition (p3);更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12ORA-03114 PLSQL过程编译断开连接错误Oracle Linux 5.9下MongoDB安装配置相关资讯 Oracle数据库分区 本文评论 查看全部评论 (0)