我有大约 8400 万行。其中所有这些都需要转移到同一服务器上的单独数据库中,然后我删除以从源数据库中删除大约 6000 万行。
8400 万行都在同一个表中。仅该表就占了整个数据库的 90%。
所以... 来源:8400 万行 -> 2400 万行目标:0 行 -> 8400 万行
源正在运行完全恢复模式,目标将运行简单。
我想知道最有效的方法是什么?
方案一:
1) 插入目标 SELECT * FROM 源
2) 截断来源
3) INSERT INTO source SELECT * FROM destination WHERE keep_condition = 1
方案B:
1) 将源数据库的备份恢复为目标数据库
2) 删除除目标数据库上需要的表之外的所有表
3) 截断来源
4) INSERT INTO source SELECT * FROM destination WHERE keep_condition = 1
计划C:
1) 插入目标 SELECT * FROM 源
2) DELETE source WHERE keep_condition = 0
或者是其他东西?
谢谢
sql-server ×1