我有一个应用程序 (vb.net),它从用户那里收集数据并将数据本地存储在他们的笔记本电脑上,直到他们将其与中央 SQLServer 2008 数据库同步。同步需要在两个方向上。所以现在,我在每条记录上都有一个时间戳,该时间戳在该记录更新时设置。然后我比较记录上的时间,看看哪个是最近的。如果笔记本电脑上的记录比中央数据库上的记录更新,则笔记本电脑记录被发送。如果中央数据库上的记录比笔记本电脑更新,则该记录将被发送到笔记本电脑。
我有几十万条记录分布在大约 15 个表中。如果您在网络上,则需要 3 到 4 分钟才能完成所有这些操作。对于远程用户来说,问题确实变得更糟。同步需要 20 到 30 分钟。通过 VPN。
我有大约 5 个用户这样做,他们都需要通过中央数据库相互维护相同的信息。它们都同步到中央数据库,而不是彼此同步。
除了比较时间戳之外,还有更好的方法来检查每条记录吗?
- 请注意,每次同步时只有少数记录 (5%) 发生变化,但我不知道可能是哪些记录。可以是其中任何一个。所以我必须检查所有这些。
谢谢。