我正在SQL Server中建立数据存放区数据库,以供报告之用。让我们将此服务器称为A。我正在建立指令码,以便从数个链接的服务器(B和C)中提取必要的数据。我正在尝试让它们尽可能地有效能。
我有一个脚本,它使用一个包含许多连接的复杂查询来提取数据,但这些连接都来自服务器B上的表。我已经从以前的加载脚本中获得了服务器A上这些连接所需的一些数据。
所以我的问题是--哪个更快:
1.将服务器B上的表连接到服务器A上包含所需数据的表
1.只需在服务器B上执行所有联接
我认为第二种方法会更快,但我知道通过链接的服务器在网络上做事情会更慢,所以我不确定。
1条答案
按热度按时间3htmauhk1#
远程连接通常比本地连接要慢得多,所以你应该尽量只在一个地方连接表。
若要联接B上的所有表并将结果返回到A,请使用OPENQUERY或
EXEC(@sql) at B
在B上运行“passthrough”查询。