数据库里大概有二百万的数据,最近执行了一次定时删除的任务.I/O操作突然变得很高,数据库也变得很慢,这个过程持续了一两天
delete会不会造成频繁的i/o操作

解决方案 »

  1.   

    DELETE会造成I/O操作吗
    =======================
    肯定会的
      

  2.   

    archive状态下,delete 不是一般占用I/O,非常耗用I/O
      

  3.   

    数据库处在not archive状态下,我的这种情况正常吗
      

  4.   

    肯定会造成I/O三,1.所有的DML语句都会生成撤销数据,DELETE生成的撤销数据量最大,撤销数据是保存在UNDO表空间里面的。2.DML会生成日志,log buffer和日志文件几乎是同步的,往日志文件写也会造成I/O三,最快就是TRUNCATE
      

  5.   

    delete 会造成I/O的增大,因为delete第一步是删除表里的数据
    第二步是将删除的数据写入回滚段。
    这个I/O量是非常大的。
      

  6.   

    当然会造成IO操作啊。你可以使用bulk collect方式来进行批量绑定的方式删除大批量数据
    可以考虑使用rowid方式配和pl/sql来进行。