内部连接速度问题(链接服务器列)

时间:2013-07-17 16:45:49

标签: sql inner-join linked-server

我有一个视图(视图A),它从许多表中提取列。它还从另一个视图(视图B)中提取一列,该视图从链接服务器表中获取其数据。

现在,View B运行良好,在大约一秒钟内拉回了11,000行。查看A也运行良好。但是,如果我在链接服务器的列上从视图A到视图B进行INNER JOIN,则整个查询运行得太慢,超时。

如果我从一个不是来自链接服务器的列上从视图A到视图B进行内部连接,它运行正常。

因此,我将问题跟踪到加入位于链接服务器上的列。我根本不知道如何解决它。

任何人都可以给我任何指示吗?

1 个答案:

答案 0 :(得分:1)

情况略有不同,但我和我的同事都看到过证据证明你有这样的事情:

select something 
from LinkedServer.DataBase.Owner.Table
where whatever

然后sql server将首先从其他服务器中选择整个表,然后应用where子句。那可能发生在你身上。

我们使用openquery而不是上面显示的完全限定方法,并将openquery结果放入临时表中来解决问题。然后我们加入临时表。

相关问题