이 쿼리를 기반으로 적은 양의 총 읽기 (1 또는 2와 같이 0 또는 0에 매우 가깝 음)와 높거나 중간 정도의 사용자 업데이트 (이 쿼리로 삽입 또는 삭제를 찾을 수 없음)가 표시되는 경우 행 수가 많으면 이론적 으로 인덱스를 제거 해야합니다 .
SELECT DISTINCT
OBJECT_NAME(s.[object_id]) AS ObjectName
, p.rows TableRows
, i.name AS [INDEX NAME]
, (user_seeks + user_scans + user_lookups) AS TotalReads
, user_updates UserUpdates
FROM sys.dm_db_index_usage_stats s
INNER JOIN sys.indexes i ON i.[object_id] = s.[object_id]
AND i.index_id = s.index_id
INNER JOIN sys.partitions p ON p.object_id = i.object_id
WHERE OBJECTPROPERTY(s.[object_id],'IsUserTable') = 1
AND s.database_id = DB_ID()
AND i.name IS NOT NULL
ORDER BY (user_seeks + user_scans + user_lookups) ASC
이 가정의 정확성을 여기에서 교차 확인하고 싶습니다. 예를 들어, 1 년 이상 존재했지만 읽지 못했지만 고도로 업데이트 된 인덱스는 나쁜 생각 인 것 같습니다. 이 가정이 유효하지 않은 시나리오가 있습니까?