Sql-Server

搜尋次數少、更新次數多的索引

  • January 18, 2021

假設我在表上創建了一個非聚集索引。一周後,我查看 sats,例如搜尋次數、掃描次數、更新次數等。例如,我有 10 次搜尋和 10000 次更新。如何衡量 10000 次更新的成本?那就是我如何衡量非聚集索引上 10000 次更新與聚集索引上 10 次額外掃描的成本?

我想了解擁有索引的成本何時超過收益。我如何衡量這個?

我會做的是

SET STATISTICS IO ON

然後我會測試產生 seek 和 UPDATE 語句的 SELECT 語句。

最後,我會將 SELECT 讀取的頁數與 UPDATE 寫入的頁數進行比較。

但總的來說,搜尋和更新之間的這個比率似乎表明您的非聚集索引沒有價值。但這實際上取決於您的查詢需求。

這真的取決於……什麼欄位,有多大的索引等等……比例不是很大但是……它是一個僅插入的簡單日誌表嗎?您插入的頻率與查詢的頻率。如果您每週只查詢一次,但在數百萬寬的表上進行大選擇,那麼即使 10 次索引掃描也可以……總而言之,我會問正在執行什麼選擇並使用索引以及性能如何沒有索引。

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