Sql-Server
SQL Server:索引使用率統計資訊?
SQL Server 中有沒有辦法獲取索引使用情況的報告?
我知道從SQL Server 2005開始,您可以根據計劃記憶體中的內容獲取使用資源最多的查詢的報告:
我很想知道是否有任何不再使用或幾乎不使用的索引,特別是多鍵索引。可以想像,查詢計劃記憶體還包含計劃將使用的索引,那麼也許 index using 也在那裡?
我終於設法在 Google 中找到了一個搜尋片語,它讓我得到了SQL Server 2005及更高版本的答案:
如何在 SQL Server (mssqltips.com) 中獲取索引使用資訊:
SELECT OBJECT_NAME(S.[OBJECT_ID]) AS [OBJECT NAME], I.[NAME] AS [INDEX NAME], USER_SEEKS, USER_SCANS, USER_LOOKUPS, USER_UPDATES FROM SYS.DM_DB_INDEX_USAGE_STATS AS S INNER JOIN SYS.INDEXES AS I ON I.[OBJECT_ID] = S.[OBJECT_ID] AND I.INDEX_ID = S.INDEX_ID WHERE OBJECTPROPERTY(S.[OBJECT_ID],'IsUserTable') = 1
結果如下:
OBJECT_NAME INDEX_NAME USER_SEEKS USER_SCANS USER_LOOKUPS USER_UPDATES Properties IX_Properties_PropertyName 0 455477 0 0 Locations_Depricated NULL 0 71255 0 0 Users PK__Users__UserIDInteger 137772 58637 47134 72 CurrencyTypes PK_CurrencyTypes 3397 55554 0 0 ExchangeRates IX_ExchangeRates 35736 46621 0 0 CurrencyCategories IX_CurrencyCategories_1 0 25734 0 0 CurrencyCategories IX_CurrencyCategories 0 22287 19888 0
或者,從 mssqltips 熱連結圖像: