Sql-Server
什麼會導致從本地機器上的 SSMS 執行的查詢比從遠端機器上執行的速度慢
當我在生產 SQL Server 上執行的 SSMS 中執行諸如“從表 A 中選擇 Column1、Column2”之類的簡單查詢時,結果似乎需要很長時間(> 45 分鐘)。如果我從連接到生產 SQL Server 的開發系統的 SSMS 執行相同的查詢,結果會在幾秒鐘內返回(<60 秒)。
我注意到的一件事是,如果系統剛剛重新啟動,性能會好一點。很難確定時間,因為我讓它在重新啟動後很快就開始執行緩慢,但最多它在 20 分鐘內表現良好,然後開始起作用。此外,僅重新啟動 SQL 服務並不能解決問題或暫時提高性能。
伺服器規格為:Windows Server 2003,企業版,SP2 4 X Intel Xeon 3.6GHz - 6GB 系統記憶體 Active/Active Cluster SQL Server 2005 SP2 (9.0.3239)
您是否比較了兩台伺服器的執行計劃?當結果變慢時,您是否嘗試過在本地查詢生產伺服器?您是否檢查過生產伺服器上是否有任何阻塞或資源等待?
你要返回多少行?
有可能(但不太可能)當您在伺服器上返回結果時,由於需要在 SSMS 中顯示所有結果,您正在使伺服器缺乏資源。
在伺服器上的 SSMS 中,轉到 Tools->Options->Query Results->SQL Server->Results to Grid。執行後檢查選項丟棄結果
然後打開一個新的查詢視窗,按 CTRL + D(以確保結果輸出到網格)並再次執行您的查詢。還需要45分鐘嗎?