Back to blog

零停机迁移

Nov 3, 2026VrmMate Team

加列、双写、回填、切换、清理,五步走完再删旧结构。

大表结构变更如果一步到位,锁表时间会直接变成停机时间。

五步法

先加新列或新表,代码双写,再回填历史数据,然后切换读取路径,最后清理旧结构。每一步都可独立回滚。

回填

分批处理并限制速率,避免占满数据库 IO。回填进度要可观测,能中断续跑。

索引

大表加索引要评估构建时间,必要时在低峰期执行或使用并发建索引。

验证

切换前后对比新旧字段的抽样结果,确认一致再下线旧路径。没有数据校验的切换,等于赌运气。