如何确定两行是否相同,包括相关行

时间:2011-11-11 14:51:14

标签: .net database synchronization

我在SQL数据库中有一组数据(一个系统中的SQL Server,另一个系统中的MySQL),我需要同步这两个数据。

每条记录都有相当数量的关系数据。

  • 基础对象是一个帐户。
    • 每个帐户都有一个或多个联系人
      • 每个联系人都有一个或多个服务

还有更多,但这就是那种结构。

目前,我正在以编程方式从SourceA获取列表,为整行生成对象,然后从SourceB获取匹配对象,并查看是否有任何不同。

或者我可以废弃深层对象创建,只需同步Accounts表,然后是Contacts表,然后是Services表。

问题是,如果有5000个帐户,22,000个联系人和45,000个服务,则需要HOURS才能运行同步。一些基本指标意味着它是一直在进行的SQL查询。

那么:我如何同步这样的两个数据源?

(我确实看过微软同步框架,但是进入它似乎很棘手。如果这是共识表明值得的,我会花时间去学习它)

1 个答案:

答案 0 :(得分:0)

有关Microsoft Sync Framework的一种替代方法(异步消息传递队列),请参阅this SO answer。答案大约是3年。