返回数据库常见问题
帮助中心 · 常见问题数据库1 分钟阅读

如何安全回填数据库中的新列?

架构变更后回填需要更新现有行;若一次性执行,可能造成大量读写、锁等待或复制延迟。应将其设计为可恢复的后台任务,并尽量与架构部署分开。

数据库

先确保变更兼容

以允许新旧应用版本共存的方式添加字段,然后部署能够容忍空值或读取两种格式的代码。现有行尚未填充前,不要立即将字段设为必填。

使用稳定键和进度检查点分批处理。根据数据库负载选择批次大小和速度,并确保任务中断后重复更新仍然安全。

收紧约束前验证完成情况

跟踪剩余行数、失败、写入延迟和复制健康状况。抽样将填充值与来源数据比较并调查差异,不要只凭处理行数就认定完成。

回填完成后再考虑强制非空约束或移除兼容代码。保留暂停与继续机制,以便生产负载变化时降低任务速度。

返回数据库常见问题