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

解决方案 »

  1.   

    这主要看你的逻辑是什么,再分析,到底是按那种分区比较合适,是按数字类(数字(例如部门编号),时间)分,
    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;
      

  2.   

    每天的数据放到一张表里面,
    每天定时做 job处理...