数据库频繁地删除数据,时间久后对数据库性能有影响吗?或其它什么问题

解决方案 »

  1.   

    1、看你删除的时机,系统繁忙时候,肯定有影响,当然如果这就是业务步骤里面的一环,此点可以忽略2、看你提交的实际
       commit的过快,会造成数据库单位时间内 事务 数量过大
       commit的过慢,会影响数据库undo表空间的使用
      

  2.   

    用delete删大量的数据,我看了下好像表空间的利用率没有降,有没有什么办法,感觉delete后有很多碎片之类,有清理办法吗。数据库不能停的哈。
      

  3.   

    1)考虑延迟的块清除,在做大量的数据delete,建议应做一次查询,全表扫描。清除数据块中的uncommited的标记,以后的查询可以不用去undo里去找2)考虑HWM的问题。insert以后提升hwm,delete并不降低hwm。而select做全表扫描时总是会扫描hwm以下得所有block。所以建议定期对该表进行整理。可以用
    alter table yourtbname move tablespace indx;
    alter table yourtbname move tablespace users;
    并重建该表所对应得索引
      

  4.   


    在业务空闲的时候,进行 shrink tablespace 或者 move table 或者 exp/imp expdp/impdp
    shrink tablespace 10g开始支持
      

  5.   


    回复2楼
    可以通过降低表的高水位线来实现ALTER TABLE 表名 ENABLE ROW MOVEMENT;