当业务累积了大量数据时,需要对在线数据与历史数据进行分隔管理,或定期清除表中数据。常见的现象是:
此类问题通常都会通过分批执行的方法解决,但是也有很多风险。例如:
基于以上原因,新版DMS提供无锁数据变更功能,更好地满足业务方对大量数据变更的需求(例如历史数据清理、全表更新字段等),同时保证执行效率,以及减小对数据库性能、数据库空间等的影响,做到不影响业务。
登录DMS控制台。
在上方选择数据方案>数据变更>无锁数据变更。
等待预检查通过,单击分批执行配置按钮,设置以下参数,单击提交修改。
配置 | 说明 |
---|---|
分批大小(行数) | 填入每个分批的大小,默认为1000行。 |
每1万行sleep时间(秒) | 填入每1万行sleep时间,默认为0.5秒。 |
是否开启主备延迟检查 | 选择是否开启主备延迟检查。 |
主备延迟阈值(秒) | 填入主备延迟阈值,默认为10秒。 |
是否开启剪枝优化 | 选择是否为开启剪枝优化。 |
在审批栏单击提交审批按钮,在提示页面再次单击确认。
等待审批通过,单击执行变更,选择执行时间,然后单击确定执行。
- 默认为立即执行,也可以自行选择时间。
- 如果指定结束时间,在时间到达后还未完成的更新将会终止不再更新,主要为了防止业务高峰期时影响业务。
等待执行完毕。
- 每扫描10,000行需要更新的数据后,会sleep暂停0.5秒。
- 默认每一批以主键或唯一键进行更新,初始值为1000条记录,若还是失败则会自动降低阀值,执行直至没有满足条件的数据后完成更新。
在文档使用中是否遇到以下问题
更多建议
匿名提交