如何知道 Index 的使用效率呢?
這篇文章主要介紹一個簡單的技巧來得知 index 的使用效率,
我們可能因為希望查詢更有效率的原因,建立許多的 non-Clustered Index
隨著時間的經過,資料的更新等,慢慢 SQL Database 會建立統計資訊
告訴我們該索引是否有被使用,如果沒有用到的索引除了會額外占空間之外,
隨著資料的更新,SQL Server 還必須額外的更新索引的資訊內容也耗費額外的 I/O.
因此,如何知道那些索引在上線後,完全沒有被使用就是這篇要介紹的技巧。
Management Studio > Reports > Index Usage (如下圖所示)
Index Usage Statistics
我們主要看的是 # of User Seeks 與 # of User Scans
看這個索引實際上被讀取的次數
- Seek 為 Index Seek的讀取
- Scan 為 Index Scan 的讀取
如果這兩個值皆為 0 ,則可以考慮將該索引刪除
但是要注意的是統計資料的其間是否具有代表性
因為有可能該索引是半年報表才會使用到,但是 Index Usage Statistics 期間尚未包含該使用狀況