分类: Oracle
2008-04-09 11:31:40
来源:IT专家网 |
在使用delete语句删除数据时,数据库是要做日志记录的,以便将来可以恢复数据,可是我在删除上百万条数据时,十分缓慢甚至死机,请问有没有什么好方法?
网友观点一:
网友观点二:
|
专家意见:几个办法:
1. 如果删除的数据是大部分,建议使用楼上的方法把要保留的数据放在一个临时表里,truncate table后再放回来
2. 也可以分段提交,楼上也提到了
3. 专门使用一个大回滚段
4. 如果确认将来不需要做恢复,改为非归档模式,删除完改回来再做个备份.
专家给出的解决方案:
有条件的分步删除数据表中的记录 Table created. 6374 rows created. SQL> / 6374 rows created. SQL> / 6374 rows created. SQL> commit; --创建删除的存储过程 --执行语句 |