我有一个名为表的表,其中包含列:
在名为 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直接调用它时,我该怎么做才能使这个查询更快?
答案 0 :(得分:1)
SELECT ID, TEXT FROM OPENQUERY(LS, 'SELECT ID, TEXT FROM dbo.Table')
如何通过使用架构使查询等效?
无论如何,请阅读关于链接服务器的article from Linchi Shea
注意:链接服务器调用总是比直接调用慢。从SQL Server到您的SSMS现在首先通过另一个SQL Server实例,所以当然它会更慢。