单表数据迁移到备份表要怎么做

AI给的方案是通用的,适合有特殊限制无法用元数据方案的场景,可行性高,但需要错峰执行、控制资源影响。

生产大表迁历史数据建议:1)按分区 ALTER TABLE ... EXCHANGE PARTITION 到备份表(结构一致时最快);2)或按分区范围 INSERT INTO backup SELECT … WHERE … 分批+低峰;3)Dumpling 按分区导出再 Lightning 导入备份表也可,但 IO 大。注意备份表提前建好相同分区策略、关闭不必要索引再导、关注 GC safepoint 与 TiKV 负载,BR 恢复整库确实不能直接指定到另一张表名。

  • 首选:ALTER TABLE 分区 DETACH + ATTACH(TiDB 分区迁移原生最优,零拷贝、几乎无 IO、业务影响极小)【强烈推荐】
  • 次选:BR 按分区备份 + 分区级恢复到备份表(官方 BR 支持分区粒度备份恢复,你之前没用对方式)
  • 兜底:Dumpling + Lightning 导出导入(资源开销大、耗时久,只在前两种无法使用时再选)

优先用EXCHANGE PARTITION迁移分区,速度快压力小

采用 CREATE TABLE ... LIKE + 按分区分批 INSERT INTO ... SELECT 的方式