日期:2014-05-17  浏览次数:20881 次

Oracle新手问题,关于分区
1天数据量为300万条左右,占用数据库空间为200M左右,数据保留3个月
查询没什么特别,没有对每日,每周等求和查询的特殊要求,就一般零散查询;
请问数据如何分区比较好,
这么分区呢,刚接触Oracle,
希望大家有比较完整的回答,附脚本!

------解决方案--------------------
这主要看你的逻辑是什么,再分析,到底是按那种分区比较合适,是按数字类(数字(例如部门编号),时间)分,
create table emp1 partition by range(deptno) (partition dept10 values less than(20) tablespace users,partition dept20 values less than(30) tablespace users,partition other values less than(maxvalue) tablespace users) as select * from emp;
也可以按字符类(地域等)分,
partition by LIST(DEPTNO) 
( PARTITION D10 VALUES ('10') TABLESPACE D10,
PARTITION D20 VALUES ('20') TABLESPACE D20,
PARTITION D00 VALUES (DEFAULT) TABLESPACE USERS)
AS SELECT * FROM EMP;
要是实在没有什么逻辑但是数据量又比较大需要分区也可以按hash分
create table emp2
partition by HASH(EMPno) PARTITIONS 5 AS SELECT * FROM EMP;
------解决方案--------------------
每天的数据放到一张表里面,
每天定时做 job处理...