我已经做过一个使用Sync Framework将某些表从Azure同步到OnPremise(本地服务器)的程序。我按照以下示例制作了程序:如何:使用SQL Azure配置和执行同步。
由于表的更改是新行,因此使用表的速度非常快。新行是同步完美的。第一次同步需要几个小时,但现在所有同步都需要几秒钟。
但是,我们还有其他一些表被删除并使用几乎相同的数据重新创建(99%是旧数据,而1%是新数据)。更新这些表的程序:删除所有数据,然后再次添加所有数据(包括新数据)。
在这种情况下,我们的同步程序将所有表视为已更改。它的速度太慢了。所有同步(第一,第二,第三..)都需要几个小时。
有可能修复它吗?
谢谢,
我假设您只是删除行并重新插入,因为如果您实际上要删除表,那么您将已经破坏了更改跟踪,因为更改跟踪触发器将随表一起删除。
如果您要重新插入行,则触发器会将跟踪表中的相应行标记为已更改。同步时,即使您之前已经同步过,行也会被同步。由于行已存在于目标上,因此会发生冲突,从而减慢其速度。如果您有一百万行,那就是一百万个需要解决的冲突。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句