我有一張大量閱讀並且大量寫入(實際只附加)的大表。測量SQL服務器索引對寫入的影響
我想了解索引如何影響寫入速度,理想情況下更新它們的持續時間(與插入的持續時間相比),但對於僅用於索引維護的資源有某種感覺。
這是什麼東西存在於sqlserver/profiler的某處?
謝謝。
我有一張大量閱讀並且大量寫入(實際只附加)的大表。測量SQL服務器索引對寫入的影響
我想了解索引如何影響寫入速度,理想情況下更新它們的持續時間(與插入的持續時間相比),但對於僅用於索引維護的資源有某種感覺。
這是什麼東西存在於sqlserver/profiler的某處?
謝謝。
看sys.dm_db_index_operational_stats
下的各個...wait...
列。這將考慮等待鎖和鎖存器,但它不會考慮日誌寫入時間。對於日誌寫入,您可以根據行大小進行簡單的數學計算(例如,在100字節寬的表上新增一個10字節寬的索引將增加10%日誌寫入),因爲日誌寫入時間僅由數據驅動寫入的字節。數據庫對象下的Log Flush...
計數器將測量當前的整個數據庫寬日誌等待時間。
最終,最好的測量是良好控制的測試負載的基線比較。
我不相信有一種方法可以找出更新的持續時間,但您可以通過查詢sys.dm_db_index_usage_stats來檢查索引上的最後一次用戶更新。這會爲您提供關於索引被查詢和更新的頻率以及此信息的日期時間戳的一些關鍵信息。
非常感謝 - SSMS中有一份報告顯示了相同的數據,這些數據非常有用。 – Nik