如何知道 Index 的使用效率呢?

如何知道 Index 的使用效率呢?

這篇文章主要介紹一個簡單的技巧來得知 index 的使用效率,

我們可能因為希望查詢更有效率的原因,建立許多的 non-Clustered Index

隨著時間的經過,資料的更新等,慢慢 SQL Database 會建立統計資訊

告訴我們該索引是否有被使用,如果沒有用到的索引除了會額外占空間之外,

隨著資料的更新,SQL Server 還必須額外的更新索引的資訊內容也耗費額外的 I/O.

因此,如何知道那些索引在上線後,完全沒有被使用就是這篇要介紹的技巧。

 

Management Studio > Reports > Index Usage (如下圖所示)

IndexRpt1

 

 

Index Usage Statistics

我們主要看的是 # of User Seeks  與 # of User Scans

看這個索引實際上被讀取的次數

  • Seek 為 Index Seek的讀取
  • Scan 為 Index Scan 的讀取

如果這兩個值皆為 0 ,則可以考慮將該索引刪除

但是要注意的是統計資料的其間是否具有代表性

因為有可能該索引是半年報表才會使用到,但是 Index Usage Statistics 期間尚未包含該使用狀況

 

 

indexRpt2

Leave a Reply

Your email address will not be published. Required fields are marked *