如果我连接到SQL Server中的特定服务器,并且我使用引用另一个服务器中的表的查询,这是否会减慢查询速度,如果是这样的话(例如,如果我加入了很多表中的表)服务器我目前在吗?我问,因为我想知道将该表导入我所在的服务器是否更有效,而不是跨服务器查询。
答案 0 :(得分:2)
我会说取决于。是的,可能不是你想要的答案,但这取决于具体情况。使用链接服务器确实会带来成本,尤其取决于您尝试返回的行数以及您尝试运行的查询类型。您应该能够查看查询的执行计划,并查看用于命中链接服务器表的数量。这与返回结果所需的时间一起可能有助于确定是否需要它。
关于在本地提供表格,那也取决于。您需要最新数据还是静态数据?如果是静态的,那么导入表格不是一个坏主意。如果该数据不断变化并且您需要更改,那么这可能不是最佳解决方案。您可以随时查看创建SSIS包以在每晚的基础上执行此操作,但这又取决于它。
祝你好运。答案 1 :(得分:2)
正如sgeddes所提到的,这取决于。
我自己对链接服务器查询的经验是,它们对于大型表来说非常慢。根据您编写查询的方式,可能必须在运行语句的服务器上评估谓词(很可能,如果您正在加入它们),这意味着它可能会将整个表传输到该服务器,然后进行过滤结果。这绝对不利于表现。