Sql-Server

Microsoft SQL Server 2008 R2 上的查詢速度非常慢

  • May 27, 2012

我的開發機器上的 MS SQL Server 2008 R2 中的查詢非常慢。這個問題困擾了我大約一個月。其他開發人員沒有同樣的問題,但我們都執行相同的程式碼。似乎任何包含 a 的查詢都JOIN需要超過 20 秒,有些甚至需要一分鐘。插入和更新速度很快。總數據庫大小約為 30MB,因此不算大。

在延遲查詢期間,CPU 使用率保持不變,IO 率保持在較低水平,並且頁面錯誤增量也保持在較低水平。我沒有調整 db 配置中的任何性能設置 - 它都是設置中的庫存。

連接到 SQL 伺服器的軟體與它在同一台機器上執行。我嘗試了多個開發數據庫副本,以及已知良好的客戶數據庫,但都無濟於事。

有什麼想法可能導致這種情況嗎?

也許您的數據庫中儲存了很多 BLOB(Binary Large OBJectS)。如果您在數據庫中儲存非常大的二進制對象(例如其他數據庫,或者可能是 zip 包或諸如此類),就會發生這種情況。

這可能會成為性能殺手,如果您允許人們通過 Sharepoint 之類的工具上傳文件,這很有可能。

連接可以壓低 tempdb 性能的極限。一般來說,tempdb 應該是伺服器上最快、最優化的數據庫。現實往往大相徑庭。

Tempdb 應該位於 ssd 上,並且不應配置為自動增長。自動增長可能是一個巨大的性能殺手。在生產系統上,tempdb 的每個處理器核心應該有一個分區/文件。

引用自:https://serverfault.com/questions/392694