每天大约有800万以上的数据这样插入然后再删除
用普通表是不是时间长了会越来越慢啊?
该如何优化这样一个表

解决方案 »

  1.   

    删除的时候 delete from tablename nologging
    定期的重建这个表,在统计数据收集作业的时候 不统计这个表
      

  2.   

    是的,会越来越慢的.
    可以建一个定时job,执行表收缩
    tony@ORCL2> alter table t enable row movement;表已更改。tony@ORCL2> alter table t shrink space;表已更改。
      

  3.   

    基于事务的临时表. 但是要在同一个事务里面去控制.下面创建一个临时表:
    CREATE GLOBAL TEMPORARY TABLE TEMPCHEN(
    empno NUMBER(20), --员工编号
    empname VARCHAR2(100), --员工姓名
    deptno number(20) --所属部门
    )
    ON COMMIT DELETE ROWS; --提交事务后,删除数据