sys.dm_db_missing_index_details(Transact-SQL)
공간 인덱스를 제외하고 누락된 인덱스에 대한 자세한 정보를 반환합니다.
열 이름 |
데이터 형식 |
설명 |
---|---|---|
index_handle |
int |
특정 누락된 인덱스를 식별합니다. 이 식별자는 서버에서 고유합니다. index_handle은 이 테이블의 키입니다. |
database_id |
smallint |
누락된 인덱스가 있는 테이블이 위치한 데이터베이스를 식별합니다. |
object_id |
int |
인덱스가 없는 테이블을 식별합니다. |
equality_columns |
nvarchar(4000) |
다음 형식의 같음 조건자에 적용되는 쉼표로 구분된 열 목록입니다. table.column =constant_value |
inequality_columns |
nvarchar(4000) |
다음 형식의 같지 않음 조건자에 적용되는 쉼표로 구분된 열 목록입니다. table.column > constant_value "="가 아닌 모든 비교 연산자는 같지 않음을 표시합니다. 전체 비교 연산자 목록은 비교 연산자(데이터베이스 엔진)를 참조하십시오. |
included_columns |
nvarchar(4000) |
쿼리에 대한 포함 열로서 필요한 쉼표로 구분된 열 목록입니다. 포함 열 또는 포괄 열에 대한 자세한 내용은 포괄 열을 사용하여 인덱스 만들기를 참조하십시오. |
statement |
nvarchar(4000) |
인덱스가 없는 테이블의 이름입니다. |
주의
sys.dm_db_missing_index_details에서 반환된 정보는 쿼리 최적화 프로그램이 쿼리를 최적화할 때 업데이트되며 지속되지 않습니다. 누락된 인덱스 정보는 SQL Server를 다시 시작할 때까지만 유지됩니다. 서버 재활용 후에도 누락된 인덱스 정보를 유지하려면 데이터베이스 관리자가 정기적으로 누락된 인덱스 정보의 백업 복사본을 만들어야 합니다.
특정 누락된 인덱스가 속해 있는 누락된 인덱스 그룹을 확인하려면 index_handle 열을 기준으로 sys.dm_db_missing_index_details와 동등 조인하여 sys.dm_db_missing_index_groups 동적 관리 뷰를 쿼리할 수 있습니다.
누락된 인덱스 정보 수집을 설정 및 해제하는 방법은 누락된 인덱스 기능 정보를 참조하십시오.
이 기능의 제한 사항에 대한 자세한 내용은 누락된 인덱스 기능의 제한 사항을 참조하십시오.
CREATE INDEX 문에서 누락된 인덱스 정보 사용
sys.dm_db_missing_index_details에서 반환된 정보를 CREATE INDEX 문으로 변환하려면 같음 열을 같지 않음 열 앞에 배치해야 하며 두 열이 함께 인덱스 키를 구성해야 합니다. 또한 INCLUDE 절을 사용하여 CREATE INDEX 문에 포괄 열을 추가해야 합니다. 같음 열에 효율적인 순서를 결정하려면 선택도를 기준으로 열을 정렬합니다. 즉, 가장 많이 선택되는 열을 먼저 나열합니다(열 목록에서 맨 왼쪽). sys.dm_db_missing_index_details에서 반환된 누락된 인덱스 정보를 사용하여 CREATE INDEX 문을 작성하는 방법은 누락된 인덱스 정보를 사용하여 CREATE INDEX 문 작성을 참조하십시오.
트랜잭션 일관성
트랜잭션이 테이블을 만들거나 삭제하면 삭제된 개체에 대한 누락된 인덱스 정보가 포함된 행이 이 동적 관리 개체에서 제거되어 트랜잭션 일관성이 유지됩니다. 누락된 인덱스 동적 관리 개체와 관련된 트랜잭션 일관성에 대한 자세한 내용은 누락된 인덱스 기능 정보를 참조하십시오.
사용 권한
이 동적 관리 뷰를 쿼리하려면 사용자에게 VIEW SERVER STATE 권한이나 VIEW SERVER STATE 권한을 나타내는 사용 권한을 부여해야 합니다.