Script for rarely used indexes

DECLARE @DBID INT
SELECT @DBID = DB_ID()
SELECT
      OBJECTNAME=OBJECT_NAME(S.OBJECT_ID),
      S.OBJECT_ID,
      INDEXNAME=I.NAME,
      I.INDEX_ID,
      USER_SEEKS,
      USER_SCANS,
      USER_LOOKUPS,
      SYSTEM_SCANS,
      (USER_SEEKS + USER_SCANS + USER_LOOKUPS + USER_UPDATES+ SYSTEM_SCANS) AS TOTAL_USAGE
FROM
      SYS.DM_DB_INDEX_USAGE_STATS S,
      SYS.INDEXES I
WHERE
      DATABASE_ID = @DBID
      AND OBJECTPROPERTY(S.OBJECT_ID,'ISUSERTABLE') = 1
      AND I.OBJECT_ID = S.OBJECT_ID
      AND I.INDEX_ID = S.INDEX_ID
      AND ((USER_SEEKS + USER_SCANS + USER_LOOKUPS + SYSTEM_SCANS) < 50 AND USER_SEEKS < 20)
ORDER BY
      (USER_SEEKS + USER_SCANS + USER_LOOKUPS + SYSTEM_SCANS) ASC

Comments

Popular posts from this blog

SysDictField object not initialized. - Views

How to filter data for the last few weeks?

Get the value of Month or YY in SysComputedCOlumns in AX views