2

我正在做一个大学项目。我需要的是编写一个 C# 程序,它会根据本地的变化定期更新服务器。基本上,该程序适用于大型地理数据集(60 Gb),并且表很简单,没有外键。本地几乎每天更新,目前服务器每月更新一到两次。

我需要一些关于如何有效和优化地做到这一点的想法。我不想覆盖我的实时服务器上以前的记录,只需更新它们并记录更改和任何删除。我正在使用 SQL Server 2008 R2 和 VS Express 2012 的 Express 版本。

4

1 回答 1

0

将 2 列添加到您的表(本地和服务器上):time_updatedis_deleted.

更改您的软件以在time_updated任何时候更新记录时更新时间戳,并更改is_deleted以反映该记录将被删除(而不是实际删除它)。所有用户可见的选择查询都应过滤is_deleted以隐藏视图中的“已删除”行。

在 上创建索引time_updated,并且当您需要将数据同步到远程服务器时,只能通过自上次更新以来的时间戳来执行此操作。

这样做应该只允许您同步自上次同步以来发生的更新和删除。

于 2013-06-18T05:38:05.613 回答