Sql-Server

使用 DTA 與評估 DMV?

  • April 21, 2017

目前,我遇到了一個生產 SQL Server 數據庫,其中有人從 DTA 中添加了幾乎所有缺失的索引建議。

表單如何確定是否需要或需要索引我了解到,存在 DMV 視圖,可用於延遲有關實際索引使用情況和缺失索引的資訊。

Jason Strate的腳本僅使用來自該視圖的目前資訊,而今天的樂趣 - 自動自動索引!將這些視圖中的一些資訊保存到表中。

另一方面,DTA 需要計劃何時執行分析器,選擇要分析的內容,並對執行時的性能產生一些影響。

我的印像是,使用 DTA 作為第一步調整工具只是浪費時間,因為它的結果沒有涵蓋完整的數據庫使用情況,新手很難理解,並且可能導致添加過多索引,從而對寫入性能產生負面影響,而通過 DMV 收集數據幾乎不需要準備,並且幾乎涵蓋了自上次重新啟動以來數據庫的全部使用情況。

我的問題集中在向管理層提出哪種策略。我想在第一步專注於評估 DMV 視圖並完全忽略 DTA。

我認為建構監視 DMV 並隨時間跟踪其數據的東西(可能每晚拍攝索引使用情況和失去索引 DMV 的快照 - 包括過程統計數據也可能有意義)比執行一些工具更聰明只要你想這樣做的時間很短。您將在更長的時間內獲得更好的畫面,不僅是它們現在的樣子,而且它們是如何隨著時間的推移而變化的。

請注意不要刪除看似未使用但可能與某些報告掛鉤的索引,這些報告在一個業務週期中只被呼叫一次或兩次——它可能比它的頻率所暗示的更重要。

引用自:https://dba.stackexchange.com/questions/4430