2

我有两个数据库,每个数据库都有一个包含一些用户数据的表。它们不包含相同的数据,但它们确实有一些相同的字段。不好的是,这两个表可能引用了相同的用户,但他们的 ID 可能不匹配。这就是为什么我必须比较两个表中的一些字段(例如姓名、姓氏、出生日期和电话),如果所有字段都匹配,我可以假设两个表中的记录实际上描述了同一个用户。

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

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

或者我应该计算这些字段的散列然后比较散列?或者也许是别的什么?

4

1 回答 1

1

听起来是使用 INTERSECT 的理想时机

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

但是,如果您有任何重复的用户并想要识别他们,请坚持使用内部连接(INTERSECT 只返回不同的匹配项)

于 2013-07-24T16:35:16.383 回答