본문 바로가기

SQL Server

SQL SERVER 미사용 인덱스 찾기

SELECT object_name(object_id)
	,i.name
FROM sys.indexes i
WHERE i.index_id NOT IN (
		SELECT s.index_id
		FROM sys.dm_db_index_usage_stats s
		WHERE s.object_id = i.object_id
			AND i.index_id = s.index_id
			AND database_id = 11
		)
ORDER BY object_name(object_id) ASC

database_id smallint 테이블 또는 뷰가 정의되어 있는 데이터베이스의 ID입니다.
object_id int 인덱스가 정의되어 있는 테이블 또는 뷰의 ID입니다.
index_id int 인덱스의 ID입니다.
user_seeks bigint 사용자 쿼리별 검색(Seek) 수입니다.
user_scans bigint 'seek' 조건자를 사용하지 않은 사용자 쿼리별 검사 수입니다.
user_lookups bigint 사용자 쿼리별 책갈피 수입니다.
user_updates bigint 사용자 쿼리별 업데이트 수입니다.
여기에는 영향을 받는 실제 행이 아닌 작업 수를 나타내는 삽입,
삭제 및 업데이트 포함됩니다.
예를 들어 한 문에서 1000개의 행을 삭제하는 경우 이 개수는 1씩 증가합니다.
last_user_seek datetime 마지막 사용자 검색(Seek) 시간입니다.
last_user_scan datetime 마지막 사용자 검색(Scan) 시간입니다.
last_user_lookup datetime 마지막 사용자 조회 시간입니다.
last_user_update datetime 마지막 사용자 업데이트 시간입니다.
system_seeks bigint 시스템 쿼리별 검색(Seek) 수입니다.
system_scans bigint 시스템 쿼리별 검색(Scan) 수입니다.
system_lookups bigint 시스템 쿼리별 조회 수입니다.
system_updates bigint 시스템 쿼리별 업데이트 수입니다.
last_system_seek datetime 마지막 시스템 검색(Seek) 시간입니다.
last_system_scan datetime 마지막 시스템 검색(Scan) 시간입니다.
last_system_lookup datetime 마지막 시스템 조회 시간입니다.
last_system_update datetime 마지막 시스템 업데이트 시간입니다.
pdw_node_id int 적용 대상: Azure Synapse Analytics, 분석 플랫폼 시스템(PDW)

이 배포가 있는 노드의 식별자입니다.