我很好奇在驻留在另一个 SQL 服务器实例上的表上加入和在同一个表的子集上加入另一个服务器实例之间是否存在性能差异。换句话说,以下两个查询的性能是否相同:
SELECT t1.CustomerName, t2.Address, t2.Phone
FROM Table1 t1
LEFT JOIN [Server X].dbo.Table2 t2 on t2.CustomerID = t1.CustomerID
和
SELECT t1.CustomerName, t2.Address, t2.Phone
FROM Table1 t1
LEFT JOIN (SELECT CustomerID, Address. Phone FROM [Server X].dbo.Table2)
t2
on t2.CustomerID = t1.CustomerID
我们可以假设 Table2 不仅仅包含这两列。我想知道仅选择我需要的列与在整个表上加入是否会产生任何差异,特别是考虑到这是一个跨服务器查询。