server sql top速度变慢解决方案_SQL Server的性能调优:解决查询速度慢的五种方法-数据库...
編輯推薦:
本文主要通過一下幾個方面介紹:使用SQL
DMV查找慢速查詢、通過APM解決方案查詢報告、SQL Server擴展事件、SQL
Azure查詢性能洞察等相關內容。
本文來自博客園,由火龍果軟件Anna編輯、推薦。
1.使用SQL DMV查找慢速查詢
SQL Server的一個重要功能是內置于其中的所有動態管理視圖(DMV)。它們有數十種,可以提供有關各種主題的豐富信息。
有幾個DMV提供有關查詢統計信息,執行計劃,最近查詢等的數據。這些可以一起使用,以提供一些驚人的見解。
例如,下面的查詢可用于查找使用最多讀取,寫入,工作時間(CPU)等的查詢。
查詢結果如下所示。下面的圖片來自我制作的營銷應用程序。您可以看到一個特定查詢(前一個)占用了所有資源。
通過查看此內容,我可以復制該SQL查詢,看看是否有某種方法可以改進它,添加索引等。
優點:始終可用的基本匯總統計信息。缺點:不告訴你調用查詢的是什么。無法在查看隨時間調用查詢時進行可視化。
2.通過APM解決方案查詢報告
許多應用程序性能管理 (APM)工具的一個重要特性是它們能夠跟蹤SQL查詢。例如, Retrace跟蹤多個數據庫提供程序(包括SQL
Server)的SQL查詢。
Retrace可以告訴您查詢執行了多少次,平均需要多長時間以及調用它的事務。這對于SQL性能調優來說是非常有價值的信息。
APM解決方案通過在運行時針對應用程序代碼執行輕量級性能分析來收集此數據。
以下是Retrace應用程序儀表板的屏幕截圖,其中顯示了特定應用程序,哪些SQL查詢占用時間最長。
回歸熱門SQL查詢
Retrace收集有關正在執行的每個SQL查詢的性能統計信息。您可以搜索特定查詢以尋找潛在問題。
RETRACE查看所有SQL查詢
通過選擇單個查詢,您可以查看該查詢隨時間調用的頻率以及所需的時間。您還可以查看哪些網頁使用SQL查詢以及它們的性能如何受其影響。
隨著時間的推移回溯SQL性能
由于Retrace是一個輕量級代碼分析器并捕獲ASP.NET請求跟蹤,因此它甚至可以向您顯示代碼正在執行的操作的完整上下文。
下面是一個捕獲的跟蹤,它顯示了所有SQL查詢以及有關代碼執行操作的其他詳細信息。Retrace甚至可以在同一視圖中顯示日志消息。另請注意,它顯示了正在執行查詢的服務器地址和數據庫名稱。您還可以查看返回的記錄數。
回溯WEB事務跟蹤
如您所見,Retrace提供全面的SQL報告功能,作為其APM功能的一部分。它還提供圍繞SQL查詢的多個監視和警報功能。
優點:跨應用程序,每個應用程序和每個查詢的詳細報告。可以顯示詳細說明查詢使用方式的事務跟蹤。每月只需10$。一旦安裝就一直運行。缺點:不提供每個查詢的讀取或寫入次數。
3. SQL Server Profiler(已棄用!)
在SQL Server Profiler中已經存在了很長一段時間。如果您試圖實時查看針對您的數據庫執行的SQL查詢,那么它非常有用。
注意:Microsoft已宣布SQL Server Profiler已被棄用!
SQL事件探查器捕獲有關您與SQL Server交互的非常詳細的事件。
登錄連接,斷開連接和失敗
SELECT,INSERT,UPDATE和DELETE語句
RPC批處理狀態調用
存儲過程的開始和結束
存儲過程中語句的開始和結束
SQL批處理的開始和結束
寫入SQL Server錯誤日志的錯誤
在數據庫對象上獲取或釋放的鎖
一個打開的光標
安全權限檢查
SQL SERVER PROFILER
優點:非常詳細的數據。缺點:你必須手動打開它。這會強制您重新創建要捕獲的場景。它最終會轉向支持擴展事件。
4. SQL Server擴展事件
SQL事件探查器已被SQL Server擴展事件替換。這肯定會激怒很多人,但我可以理解為什么微軟會這樣做。
擴展事件通過事件跟蹤(ETW)工作。這是所有Microsoft相關技術公開診斷數據的常用方法。
ETW提供了更大的靈活性。作為開發人員,我可以輕松地從SQL Server中獲取ETW事件以收集用于自定義用途的數據。這真的很酷,非常強大。
優點:更容易啟用和運行。更容易開發定制解決方案。缺點:因為它是相當新的,大多數人可能沒有意識到它。
5. SQL Azure查詢性能洞察
我將假設SQL Azure的性能報告是建立在擴展事件之上的。在Azure門戶中,您可以訪問各種非常有用的性能報告和優化提示。
注意:這些報告功能僅適用于SQL Azure上托管的數據庫。
在下面的屏幕截圖中,您可以看到SQL Azure如何輕松使用使用最多CPU,Data IO和Log
IO的查詢。它內置了一些很棒的基本報告。
SQL AZURE熱門查詢
您還可以選擇單個查詢并獲取更多詳細信息以幫助進行SQL性能調整。
SQL AZURE查詢詳細信息
優點:很棒的基本報告。缺點:僅適用于Azure。沒有跨多個數據庫的報告。
總結
下次需要使用SQL Server進行一些性能調整時,您可以考慮使用一些選項。可能的情況是,您將使用多個這些工具,具體取決于您要完成的任務。
如果您使用的是像Retrace這樣的APM解決方案,請務必檢查它內置的SQL性能功能
總結
以上是生活随笔為你收集整理的server sql top速度变慢解决方案_SQL Server的性能调优:解决查询速度慢的五种方法-数据库...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: eclipse左侧框不见了怎么办
- 下一篇: oracle 10g rac数据库,or