Sql-Server
SQL Server OPENQUERY 與針對 AS400 的正常查詢
我登錄到具有 AS400 伺服器作為連結伺服器的 SQL Server 數據庫。
我發現如果我在 OPENQUERY 中執行選擇,對這個 AS400 伺服器執行查詢會快得多…
SELECT EMEQP# FROM _ WHERE EMALOC = '467' AND EMDLCD = 'A' AND EMSTAT NOT IN ('S', 'J', 'V')
執行時間:46秒
SELECT EMEQP# FROM OPENQUERY(_, ' SELECT EMEQP# FROM _ WHERE EMALOC = ''467'' AND EMDLCD = ''A'' AND EMSTAT NOT IN (''S'', ''J'', ''V'') ')
執行時間:1秒
有人可以解釋或連結我為什麼/如何發生這種情況嗎?
當您使用
openquery
在遠端伺服器上執行的查詢本身並且您只收到結果時。在連結伺服器的情況下,您的本地伺服器完成所有工作。您可能需要檢查 http://social.msdn.microsoft.com/Forums/eu/transactsql/thread/0e68f512-1e19-4c50-b343-219085d70076