我有一个非常大的表(300+百万行),需要经常备份。我使用了一个备用表来完成此操作。目前,备份表在主表之后很多,所以我想更新我的备份表。我想复制主表上存在的行,而备份表上还不存在的行。(此表的目的是进行一些报告)。我意识到,如果我这样做,它将永远花费我的时间:
insert into backuptable select all from uptodatetable where not in select all from backuptable
所以,我想这将是一个好主意,在一批行。然而,我以前从未使用过batch,所以你们能帮我吗?谢谢
发布于 2013-11-19 18:37:50
你的“超级巨型”表发生了多大的变化?您是否有大量的插入和删除操作?有很多更新吗?您的备份表的用途是什么?你需要能够查询它吗?您真正想要的是在发生更改时更多地记录更改吗?
这段时间的长度取决于在失败的情况下您可以承受损失的数据量(就事务而言)。如果每隔60分钟执行一次增量操作,则在必须从备份中恢复时,理论上可能会丢失相当于一个小时的事务。
https://stackoverflow.com/questions/20078967
复制相似问题