관련된 쿼리 튜닝 기능
다음 SQL Server 쿼리 튜닝 기능은 누락된 인덱스 기능과 함께 사용할 수 있습니다.
sys.dm_db_index_usage_stats 및 sys.dm_exec_query_stats 동적 관리 뷰
데이터베이스 엔진 튜닝 관리자
sys.dm_db_index_usage_stats는 SQL Server 인스턴스의 기존 인덱스에 대한 인덱스 사용 정보를 수집합니다. sys.dm_exec_query_stats는 캐시된 쿼리 계획에 대해 집계된 성능 통계를 반환합니다. 캐시된 계획 실행의 경과 시간, 캐시된 계획 실행 시 수행된 논리적 및 물리적 읽기 수 등의 정보가 캡처됩니다.
데이터베이스 엔진 튜닝 관리자는 전체 SQL Server 작업을 분석하고 인덱스, 인덱싱된 뷰 또는 분할과 같은 물리적 디자인 구조의 권장 구성을 생성하는 독립 실행형 도구입니다.
다음 섹션에서는 데이터베이스 엔진 튜닝 관리자를 누락된 인덱스 기능과 비교하여 자세히 설명합니다.
누락된 인덱스 기능과 데이터베이스 엔진 튜닝 관리자 비교
누락된 인덱스는 인덱싱 오류를 파악하여 수정하기 위한 지속적인 서버측 경량 기능입니다. 반면 데이터베이스 엔진 튜닝 관리자는 물리적 데이터베이스 디자인을 평가하고 성능 향상을 위한 새 물리적 디자인 구조를 권장하는 포괄적인 도구입니다. 데이터베이스 엔진 튜닝 관리자는 인덱스뿐만 아니라 쿼리 성능 향상을 위해 인덱싱된 뷰나 분할을 사용해야 하는지 여부도 고려합니다.
다음 표에서는 누락된 인덱스 기능과 데이터베이스 엔진 튜닝 관리자를 더 자세하게 비교합니다.
비교 항목 |
누락된 인덱스 기능 |
데이터베이스 엔진 튜닝 관리자 |
---|---|---|
배포 방법 |
서버측 |
클라이언트측, 독립 실행형 응용 프로그램 |
가용성 |
항상 사용 가능 |
데이터베이스 관리자가 시작하거나 스크립트에서 호출된 경우 |
분석 범위 |
누락된 인덱스에 대한 정보만 제한적으로 제공하는 빠른 임시 분석 |
제출된 작업 컨텍스트에서 최상의 물리적 데이터베이스 디자인 구성에 대한 전체 권장 구성 보고서를 제공하는 상세한 작업 분석 |
분석 시 UPDATE, INSERT 및 DELETE 문을 고려하는지 여부 |
아니요 |
예 |
분석 시 사용 가능한 디스크 저장 공간을 고려하는지 여부 |
아니요 |
예 |
권장 인덱스에서 열이 정렬되는지 여부 |
아니요, 수동으로 CREATE INDEX 문에서 열을 정렬해야 함 |
쿼리 실행 비용을 기반으로 권장 인덱스의 열 순서를 자동으로 결정 |
클러스터형 인덱스 권장 여부 |
아니요 |
예 |
포함 인덱스 권장 여부 |
예 |
예 |
비포함 인덱스 권장 여부 |
예 |
예 |
인덱싱된 뷰 권장 여부 |
아니요 |
예 |
분할 권장 여부 |
아니요 |
예 |
권장 구성의 기초 |
쿼리 최적화 프로그램이 대략적인 쿼리 실행 비용 예측 |
쿼리 최적화 프로그램이 쿼리 실행 비용 예측 |
권장 구성 구현 시의 영향 |
누락된 인덱스 추가 시의 영향이 대략적으로 보고됨. 자세한 내용은 sys.dm_db_missing_index_group_stats(Transact-SQL)를 참조하십시오. |
권장 구성 구현 시의 영향에 대한 정보를 제공하는 15개의 분석 보고서가 생성됨. 자세한 내용은 데이터베이스 엔진 튜닝 관리자 보고서 선택을 참조하십시오. |
식별된 누락된 인덱스를 구현하면 쿼리 성능이 향상됩니다. 데이터베이스 엔진 튜닝 관리자의 사용자 지정 구성 기능과 평가 모드를 사용하여 누락된 인덱스 구현 시 전체 작업에 미치는 영향을 확인할 수 있습니다. 자세한 내용은 데이터베이스 엔진 튜닝 관리자를 사용한 탐구 분석을 참조하십시오.
단일 쿼리 작업에 대해서도 데이터베이스 엔진 튜닝 관리자와 누락된 인덱스 기능이 서로 다른 권장 구성을 반환할 수 있습니다. 이는 누락된 인덱스 기능이 권장하는 인덱스의 키 열에서는 순서를 구분하지 않는데 데이터베이스 엔진 튜닝 관리자의 권장 구성에는 쿼리 성능을 최적화하기 위해 키 열의 정렬이 포함되기 때문입니다.
요약
누락된 인덱스 기능은 인덱싱 오류를 파악하여 수정하는 데 사용할 수 있고 데이터베이스 엔진 튜닝 관리자는 인덱싱 오류를 수정하고 서버에서 실행하는 작업을 전체적으로 조정하는 데 사용할 수 있습니다. 누락된 인덱스 기능을 사용하여 후보 인덱스를 생성할 수는 있지만 해당 인덱스의 유효성을 검사하려면 데이터베이스 엔진 튜닝 관리자를 사용해야 합니다.