RDB/MSSQL
[MSSQL] 사용하지 않는 인덱스 확인하기
kigo23
2023. 4. 24. 11:48
반응형
다음 쿼리를 사용해 사용되지 않고 있는 인덱스를 확인할 수 있다.
인덱스를 사용하지 않는데 인덱스 수정이 자주되어 DB에 부하를 준다면 정리할 수 있도록 하자.
SELECT TOP 10
DatabaseName = DB_NAME()
,TableName = OBJECT_NAME(s.[object_id])
,IndexName = i.name
,user_updates --유저 인덱스 쓰기 작업 수
,system_updates --시스템 인덱스 쓰기 작업 수
FROM sys.dm_db_index_usage_stats s
INNER JOIN sys.indexes i ON s.[object_id] = i.[object_id] AND s.index_id = i.index_id
WHERE s.database_id = DB_ID()
AND OBJECTPROPERTY(s.[object_id], 'IsMsShipped') = 0
AND user_seeks = 0
AND user_scans = 0
AND user_lookups = 0
AND i.name IS NOT NULL
ORDER BY user_updates DESC