SQL Server 2016:通過Query Store定位迴歸缺陷

來源:互聯網
上載者:User

SQL Server 2016:通過Query Store定位迴歸缺陷

對於多數開發人員來說,一旦出現效能方面的迴歸缺陷,通常可以追溯到某個特殊的事件,例如使用者的大量湧入或代碼的變更。而對資料庫開發人員來說,事情 就沒有那麼簡單了。隨著索引的重建與統計資料的更新,SQL Server或許會決定“重寫”你的代碼,重建執行計畫。如果找不到正確的備份以及與生產環境同等層級的硬體,想瞭解執行計畫中的變更基本上是不可能 的,至少目前來說是這樣。

而在SQL Server 2016中,微軟將通過一個名為 Query Store 的特性對執行計畫的曆史變動進行儲存。一旦啟用了Query Store,它就會將每個查詢中的資訊進行日誌記錄,包括:

  • 執行次數
  • 執行時間
  • 記憶體佔用
  • 邏輯讀取
  • 邏輯寫入
  • 物理讀取
  • 執行計畫變更次數

為了減少對伺服器的壓力,這些資訊是按照固定的時間視窗進行彙總的。如果你需要更詳細的資料,應轉而使用擴充事件(Extended Events)特性。

要查看這些資訊,最簡單的方式是直接開啟迴歸查詢(Regressed Queries)視圖。

在這個工具中,你可以根據任意一種記錄的指標查看迴歸缺陷。當你找到迴歸缺陷之後,可以選擇強制SQL Server使用之前的執行計畫。

對Query Store進行微調

由於對這些指標的跟蹤可能會帶來很大的開銷,因此SQL Server允許你對Query Store進行微調。可調整的因子包括彙總時間視窗的長度(單位為分鐘)、Query Store的最大體積(單位為MB),以及可儲存的執行計畫的最大數量。你還可以讓Query Store只記錄滿足特定條件的查詢。

通過編程方式進行訪問

與大多數SQL Server特性一樣,在迴歸查詢工具中所能看到的全部資訊都能夠通過使用一系列管理檢視進行直接存取。

本文永久更新連結地址:

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.