如何优化简单的链接服务器选择查询?

时间:2010-03-16 08:36:43

标签: sql-server tsql performance linked-server openquery

我有一个名为的表,其中包含列:

  • ID(int,主键,群集,唯一索引)
  • TEXT(varchar 15)

在名为 LS 的MSSQL链接服务器上。链接服务器位于同一台服务器计算机上。和

我打电话的时候:

SELECT ID, TEXT FROM OPENQUERY(LS, 'SELECT ID, TEXT FROM Table')

400 ms

我打电话的时候:

SELECT ID, TEXT FROM LS.dbo.Table

200 ms

当我在LS服务器上直接调用查询时:

SELECT ID, TEXT FROM dbo.Table

100 ms

在很多地方我都知道OPENQUERY比较快,但在这个简单的情况下它似乎不起作用。当我从另一台服务器而不是LS直接调用它时,我该怎么做才能使这个查询更快?

1 个答案:

答案 0 :(得分:1)

SELECT ID, TEXT FROM OPENQUERY(LS, 'SELECT ID, TEXT FROM dbo.Table')如何通过使用架构使查询等效?

无论如何,请阅读关于链接服务器的article from Linchi Shea

注意:链接服务器调用总是比直接调用慢。从SQL Server到您的SSMS现在首先通过另一个SQL Server实例,所以当然它会更慢。