比较来自两个数据库的数据

时间:2013-04-29 19:38:15

标签: sql-server-2008

我有两个数据库,每个数据库都有一个表,其中包含一些有关用户的数据。它们不包含相同的数据,但它们确实具有相同的字段。不好的是,这两个表可能引用了相同的用户,但它们的ID可能不匹配。这就是为什么我必须比较两个表中的某些字段(例如Name,Surname,DOB和Telephone),如果所有字段都匹配,我可以假设两个表中的记录实际上描述了同一个用户。

我的问题是,在性能方面,比较两个表中字段的最有效方法是什么?我应该像这样比较它们:

  

t1.Name = t2.Name AND t1.Surname = t2.Surname AND t1.DOB = t2.DOB AND t1.Telephone = t2.Telephone

或者我应该计算这些字段的哈希值,然后比较哈希值?或者别的什么?

1 个答案:

答案 0 :(得分:1)

听起来像是使用INTERSECT的理想时间

http://msdn.microsoft.com/en-us/library/ms188055.aspx

但是,如果您有任何重复的用户并希望识别它们,请坚持使用内部联接(INTERSECT仅返回不同的匹配)