sys.dm_db_missing_index_group_stats
업데이트: 2006년 7월 17일
누락된 인덱스 그룹에 대한 요약 정보를 반환합니다.
열 이름 | 데이터 형식 | 설명 |
---|---|---|
group_handle |
int |
누락된 인덱스 그룹을 식별합니다. 이 식별자는 서버에서 고유합니다. 다른 열은 그룹의 인덱스가 누락된 것으로 간주되는 모든 쿼리에 대한 정보를 제공합니다. SQL Server 2005에서 인덱스 그룹에는 인덱스가 하나만 포함되어 있습니다. |
unique_compiles |
bigint |
이 누락된 인덱스 그룹에 적합한 컴파일 및 다시 컴파일 수입니다. 서로 다른 많은 쿼리의 컴파일 및 다시 컴파일이 이 열 값에 영향을 줄 수 있습니다. |
user_seeks |
bigint |
그룹의 권장 인덱스가 사용되었을 수 있는 사용자 쿼리에 의해 수행된 검색(Seek) 수입니다. |
user_scans |
bigint |
그룹의 권장 인덱스가 사용되었을 수 있는 사용자 쿼리에 의해 수행된 검색(Scan) 수입니다. |
last_user_seek |
datetime |
그룹의 권장 인덱스가 사용되었을 수 있는 사용자 쿼리에 의해 수행된 마지막 검색(Seek)의 날짜와 시간입니다. |
last_user_scan |
datetime |
그룹의 권장 인덱스가 사용되었을 수 있는 사용자 쿼리에 의해 수행된 마지막 검색(Scan)의 날짜와 시간입니다. |
avg_total_user_cost |
float |
그룹의 인덱스로 줄일 수 있는 사용자 쿼리의 평균 비용입니다. |
avg_user_impact |
float |
누락된 인덱스 그룹을 구현할 경우 사용자 쿼리에서 얻을 수 있는 적합한 평균 백분율입니다. 즉, 이 누락된 인덱스 그룹을 구현할 경우 쿼리 비용이 평균적으로 이 백분율만큼 감소합니다. |
system_seeks |
bigint |
그룹의 권장 인덱스가 사용되었을 수 있는 auto stats 쿼리와 같은 시스템 쿼리에 의해 수행된 검색(Seek) 수입니다. 자세한 내용은 Auto Stats 이벤트 클래스를 참조하십시오. |
system_scans |
bigint |
그룹의 권장 인덱스가 사용되었을 수 있는 시스템 쿼리에 의해 수행된 검색(Scan) 수입니다. |
last_system_seek |
datetime |
그룹의 권장 인덱스가 사용되었을 수 있는 시스템 쿼리에 의해 수행된 마지막 시스템 검색(Seek)의 날짜와 시간입니다. |
last_system_scan |
datetime |
그룹의 권장 인덱스가 사용되었을 수 있는 시스템 쿼리에 의해 수행된 마지막 시스템 검색(Scan)의 날짜와 시간입니다. |
avg_total_system_cost |
float |
그룹의 인덱스로 줄일 수 있는 시스템 쿼리의 평균 비용입니다. |
avg_system_impact |
float |
누락된 인덱스 그룹을 구현할 경우 시스템 쿼리에서 얻을 수 있는 적합한 평균 백분율입니다. 즉, 이 누락된 인덱스 그룹을 구현할 경우 쿼리 비용이 평균적으로 이 백분율만큼 감소합니다. |
주의
sys.dm_db_missing_index_group_stats에서 반환되는 정보는 쿼리 컴파일 또는 다시 컴파일 시가 아니라 쿼리 실행 시마다 업데이트됩니다. 사용 통계는 지속되지 않으며 SQL Server를 다시 시작할 때까지만 유지됩니다. 서버 재활용 후에도 사용 통계를 유지하려면 데이터베이스 관리자가 정기적으로 누락된 인덱스 정보의 백업 복사본을 만들어야 합니다.
누락된 인덱스 정보 수집을 설정 및 해제하는 방법은 누락된 인덱스 기능 정보를 참조하십시오.
이 기능의 제한 사항에 대한 자세한 내용은 누락된 인덱스 기능 사용의 제한 사항을 참조하십시오.
누락된 인덱스 동적 관리 개체와 관련된 트랜잭션 일관성에 대한 자세한 내용은 누락된 인덱스 기능 정보를 참조하십시오.
사용 권한
이 동적 관리 뷰를 쿼리하려면 사용자에게 VIEW SERVER STATE 권한이나 VIEW SERVER STATE 권한을 나타내는 사용 권한을 부여해야 합니다.
예
다음 예에서는 sys.dm_db_missing_index_group_stats 동적 관리 뷰를 사용하는 방법을 보여 줍니다.
1. 사용자 쿼리 성능이 가장 많이 향상될 것으로 예상되는 누락된 인덱스 10개 찾기
다음 쿼리에서는 사용자 쿼리의 누적 성능이 가장 많이 향상될 것으로 예상되는 누락된 인덱스 10개를 내림차순으로 확인합니다.
SELECT TOP 10 *
FROM sys.dm_db_missing_index_group_stats
ORDER BY avg_total_user_cost * avg_user_impact * (user_seeks + user_scans)DESC;
2. 특정 누락된 인덱스 그룹의 개별 누락된 인덱스 및 해당 열 정보 찾기
다음 쿼리에서는 특정 누락된 인덱스 그룹을 구성하는 누락된 인덱스를 확인하고 해당 열 정보를 표시합니다. 이 예에서 누락된 인덱스 그룹 핸들은 24입니다.
SELECT migs.group_handle, mid.*
FROM sys.dm_db_missing_index_group_stats AS migs
INNER JOIN sys.dm_db_missing_index_groups AS mig
ON (migs.group_handle = mig.index_group_handle)
INNER JOIN sys.dm_db_missing_index_details AS mid
ON (mig.index_handle = mid.index_handle)
WHERE migs.group_handle = 24;
이 쿼리는 인덱스가 누락된 데이터베이스, 스키마 및 테이블의 이름을 제공합니다. 또한 인덱스 키로 사용해야 하는 열의 이름을 제공합니다. CREATE INDEX DDL 문을 작성하여 누락된 인덱스를 구현하는 경우 CREATE INDEX 문의 ON <table_name> 절에 먼저 같음 열을 나열한 후 같지 않음 열을 나열하십시오. 포괄 열은 CREATE INDEX 문의 INCLUDE 절에 나열해야 합니다. 같음 열에 효율적인 순서를 결정하려면 선택도를 기준으로 열을 정렬합니다. 즉, 가장 많이 선택되는 열을 먼저 나열합니다(열 목록에서 맨 왼쪽).
이러한 동적 관리 개체에서 반환된 정보를 사용하여 CREATE INDEX DDL 문을 작성하는 방법은 누락된 인덱스 정보를 사용하여 CREATE INDEX 문 작성을 참조하십시오.
참고 항목
참조
sys.dm_db_missing_index_columns
sys.dm_db_missing_index_details
sys.dm_db_missing_index_groups
CREATE INDEX(Transact-SQL)
관련 자료
도움말 및 정보
변경 내역
릴리스 | 내역 |
---|---|
2006년 7월 17일 |
|