关于delete操作优化的问题?

如无法使用分区表及视图的情况,如何优化delete的数据清理方式?如何控制delete操作有可能产生的大事务?显示全部

如无法使用分区表及视图的情况,如何优化delete的数据清理方式?如何控制delete操作有可能产生的大事务?

收起
参与11

查看其它 1 个回答topzgm的回答

topzgmtopzgm课题专家组软件架构设计师People's Bank of China

Delete优化可以从以下两个方面考虑:
1)如果是整个表清理,可以考虑适用truncate table x1 ... 或者 import from /dev/null of del repace into x1...,这些都不会在数据库中产生delete日志,而是直接在物理页面级进行清理,效率较高。
2)如果是表中部分记录清理,需要使用delete脚本,delete脚本会在数据库中产生日志,记录越多则日志越大。可以考虑分而治之的策略,分多次进行清理,每次清理加上过滤条件,及时commit事务。

银行 · 2017-08-18
浏览1714

回答者

topzgm
软件架构设计师People's Bank of China
擅长领域: 数据库服务器存储

topzgm 最近回答过的问题

回答状态

  • 发布时间:2017-08-18
  • 关注会员:3 人
  • 回答浏览:1714
  • X社区推广