sys.dm_exec_query_stats
업데이트: 2006년 12월 12일
캐시된 쿼리 계획에 대한 집계 성능 통계를 반환합니다. 이 뷰에는 캐시된 계획 내의 쿼리 문당 하나의 행이 포함되어 있습니다. 행의 유효 기간은 계획 자체와 연결되어 있습니다. 캐시에서 계획이 제거되면 이 뷰에서도 해당 행이 제거됩니다.
[!참고] 현재 서버에서 실행 중인 작업이 있을 경우 sys.dm_exec_query_stats의 초기 쿼리 결과가 정확하지 않을 수 있습니다. 쿼리를 다시 실행하면 보다 정확한 결과를 확인할 수 있습니다.
열 이름 | 데이터 형식 | 설명 |
---|---|---|
sql_handle |
varbinary(64) |
쿼리가 속하는 일괄 처리 또는 저장 프로시저를 참조하는 토큰입니다. sql_handle은 statement_start_offset 및 statement_end_offset과 함께 사용되어 sys.dm_exec_sql_text 동적 관리 함수를 호출하여 쿼리의 SQL 텍스트를 검색할 수 있습니다. |
statement_start_offset |
int |
0부터 시작하여 일괄 처리 또는 지속형 개체의 텍스트 내에서 행이 설명하는 쿼리의 시작 위치(바이트)를 나타냅니다. |
statement_end_offset |
int |
0부터 시작하여 일괄 처리 또는 지속형 개체의 텍스트 내에서 행이 설명하는 쿼리의 끝 위치(바이트)를 나타냅니다. 값이 -1인 경우 일괄 처리의 끝을 나타냅니다. |
plan_generation_num |
bigint |
다시 컴파일한 후 계획의 인스턴스 간을 서로 구별하는 데 사용될 수 있는 시퀀스 번호입니다. |
plan_handle |
varbinary(64) |
쿼리가 속하는 컴파일된 계획을 참조하는 토큰입니다. 이 값은 sys.dm_exec_query_plan 동적 관리 함수로 전달되어 쿼리 계획을 가져올 수 있습니다. |
creation_time |
datetime |
이 계획이 컴파일된 시간입니다. |
last_execution_time |
datetime |
이 계획이 마지막으로 실행된 시간입니다. |
execution_count |
bigint |
이 계획이 마지막으로 컴파일된 이후 실행된 횟수입니다. |
total_worker_time |
bigint |
이 계획이 컴파일된 이후 실행되는 데 사용된 총 CPU 시간(마이크로초)입니다. |
last_worker_time |
bigint |
이 계획이 마지막으로 실행되었을 때 사용된 CPU 시간(마이크로초)입니다. |
min_worker_time |
bigint |
단일 실행 중 이 계획에 사용된 최소 CPU 시간(마이크로초)입니다. |
max_worker_time |
bigint |
단일 실행 중 이 계획에 사용된 최대 CPU 시간(마이크로초)입니다. |
total_physical_reads |
bigint |
이 계획이 컴파일된 이후 실행될 때 수행된 총 물리적 읽기 수입니다. |
last_physical_reads |
bigint |
이 계획이 마지막으로 실행되었을 때 수행된 물리적 읽기 수입니다. |
min_physical_reads |
bigint |
단일 실행 중 이 계획에서 수행한 최소 물리적 읽기 수입니다. |
max_physical_reads |
bigint |
단일 실행 중 이 계획에서 수행한 최대 물리적 읽기 수입니다. |
total_logical_writes |
bigint |
이 계획이 컴파일된 이후 실행될 때 수행된 총 논리적 쓰기 수입니다. |
last_logical_writes |
bigint |
이 계획이 마지막으로 실행되었을 때 수행된 논리적 쓰기 수입니다. |
min_logical_writes |
bigint |
단일 실행 중 이 계획에서 수행한 최소 논리적 쓰기 수입니다. |
max_logical_writes |
bigint |
단일 실행 중 이 계획에서 수행한 최대 논리적 쓰기 수입니다. |
total_logical_reads |
bigint |
이 계획이 컴파일된 이후 실행될 때 수행된 총 논리적 읽기 수입니다. |
last_logical_reads |
bigint |
이 계획이 마지막으로 실행되었을 때 수행된 논리적 읽기 수입니다. |
min_logical_reads |
bigint |
단일 실행 중 이 계획에서 수행한 최소 논리적 읽기 수입니다. |
max_logical_reads |
bigint |
단일 실행 중 이 계획에서 수행한 최대 논리적 읽기 수입니다. |
total_clr_time |
bigint |
이 계획이 컴파일된 이후 실행될 때 Microsoft .NET Framework CLR(공용 언어 런타임) 개체 내에서 사용한 시간(마이크로초)입니다. CLR 개체는 저장 프로시저, 함수, 트리거, 유형 및 집계일 수 있습니다. |
last_clr_time |
bigint |
이 계획이 마지막으로 실행되는 동안 .NET Framework CLR 개체 내에서 사용한 시간입니다. CLR 개체는 저장 프로시저, 함수, 트리거, 유형 및 집계일 수 있습니다. |
min_clr_time |
bigint |
단일 실행 중 .NET Framework CLR 개체 내에서 이 계획을 실행하는 데 사용한 최소 시간(마이크로초)입니다. CLR 개체는 저장 프로시저, 함수, 트리거, 유형 및 집계일 수 있습니다. |
max_clr_time |
bigint |
단일 실행 중 .NET Framework CLR 내에서 이 계획을 실행하는 데 사용한 최대 시간(마이크로초)입니다. CLR 개체는 저장 프로시저, 함수, 트리거, 유형 및 집계일 수 있습니다. |
total_elapsed_time |
bigint |
이 계획의 실행을 완료하는 데 소요된 총 경과 시간(마이크로초)입니다. |
last_elapsed_time |
bigint |
가장 최근에 이 계획의 실행을 완료하는 데 소요된 경과 시간(마이크로초)입니다. |
min_elapsed_time |
bigint |
이 계획의 실행을 완료하는 데 소요된 최소 경과 시간(마이크로초)입니다. |
max_elapsed_time |
bigint |
이 계획의 실행을 완료하는 데 소요된 최대 경과 시간(마이크로초)입니다. |
사용 권한
서버에 대한 VIEW SERVER STATE 권한이 필요합니다.
주의
쿼리가 완료되면 뷰의 통계가 업데이트됩니다.
예
다음 예에서는 평균 CLR 시간을 기준으로 상위 5개의 쿼리에 대한 정보를 반환합니다.
SELECT TOP 5 creation_time, last_execution_time, total_clr_time,
total_clr_time/execution_count AS [Avg CLR Time], last_clr_time,
execution_count,
SUBSTRING(st.text, (qs.statement_start_offset/2) + 1,
((CASE statement_end_offset
WHEN -1 THEN DATALENGTH(st.text)
ELSE qs.statement_end_offset END
- qs.statement_start_offset)/2) + 1) as statement_text
FROM sys.dm_exec_query_stats as qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as st
ORDER BY total_clr_time/execution_count DESC;
GO
참고 항목
참조
동적 관리 뷰 및 함수
실행 관련 동적 관리 뷰 및 함수
sys.dm_exec_sql_text
sys.dm_exec_query_plan
도움말 및 정보
변경 내역
릴리스 | 내역 |
---|---|
2006년 12월 12일 |
|
2006년 4월 14일 |
|
2005년 12월 5일 |
|