검색결과 리스트
글
SQL
2015. 4. 15. 17:52
인덱스 사용 현황 분석
USE 데이터베이스명
DECLARE @dbname NVARCHAR(128) = '데이터베이스명'
SELECT
object_name(T.object_id) AS Table_Name
, I.name AS Index_Name
, I.type_desc
, T.user_seeks
, T.user_scans
, T.user_lookups
, T.user_updates
, T.last_user_seek
, T.last_user_scan
, T.last_user_lookup
, T.last_user_update
FROM (
SELECT *
FROM sys.dm_db_index_usage_stats
WHERE database_id = db_id(@dbname)
) AS T
INNER JOIN sys.indexes AS I
ON T.object_id = I.object_id AND T.index_id = I.index_id
ORDER BY T.user_scans DESC
GO
해당 쿼리는 데이터베이스에서 스캔이 많이 발생한 순서대로 결과를 보는 쿼리이다. 분석에 필요한 정보는 SELECT 항목을 수정하기 바란다.
동적관리뷰의 상세 사항은 MSDN을 참고하기 바란다.
위의 쿼리를 이용하면 스캔일 발생하고 있는 테이블과 인덱스뿐만이 아니라 사용하지 않는 인덱스까지 한눈에 알아볼 수 있다.
RECENT COMMENT