我們當前正在運行兩個SQL Server實例。出於開發目的,我們在辦公室的桌面PC上運行本地數據庫。SQL查詢在本地桌面SQL Server Express上的運行速度比在Azure中的SQL Server上運行速度快10倍
的PC具有以下數據:
- 8 GB的RAM
- AMD速龍5350 APU與的Radeon(TM)R3 2.05 GZ
- 64位Windows 8.1
- 的Microsoft SQL Server 2014 - 12.0 .2000.8(X64)快捷版(64位)
- HDD希捷ST1000DM003 1個TB
該服務器位於Azure中,作爲運行預先提供的Windows Server 2012 R2 Datacenter映像的VM Standard-Aier A3
現在我們面臨的問題是,完全相同的查詢在桌面上本地運行的速度比在服務器上。
我通過本地網絡通過TCP/IP連接到本地安裝Management Studio的PC。當我連接到服務器時,我使用遠程桌面連接並在服務器上啓動管理工作室的本地實例。
我已經將連接模式從默認連接模式更改爲服務器上的TCP/IP,使默認連接速度降低了10倍,速度降低了20倍。即使改用命名管道,性能也會變差。
也重寫查詢和使用不同的方法,總是快速版本比服務器快得多。我們沒有對服務器端的快速版本安裝進行任何配置或調整。
任何意見非常感謝!
最佳 西蒙
你看實際的執行計劃?他們是一樣的嗎? –
您確定它確實是查詢,而不是將結果從服務器傳輸到客戶端所需的時間?你檢查過查詢的運行時間和執行計劃嗎?在SQL Managament Studio中,使用菜單「查詢」 - >「包括實際執行計劃」和「包括客戶統計」。然後運行你的查詢,並看看。 –
@GeorgScholz如果我沒有弄錯,OP說他們通過RDP登錄到服務器並在服務器上運行SSMS來執行查詢。這意味着客戶端和服務器在每種情況下都在同一臺機器上。 –