상당히 귀찮은 일들을 불러들이는군요.
캐시 오브젝트는 최근 실행순으로 정렬됩니다.
아래 URL에서 코드를 정리했습니다.
qs.last_execution_time
, qs.creation_time
, SUBSTRING
( sqltxt.text
, qs.statement_start_offset / 2 + 1
, ( CASE
WHEN qs.statement_end_offset = -1 THEN LEN(CONVERT(NVARCHAR(MAX), sqltxt.text)) * 2
ELSE qs.statement_end_offset
END
- qs.statement_start_offset
) / 2 + 1
) "cropped_text"
, qs.execution_count , sqlplan.query_plan , qs.plan_generation_num
, qs.total_worker_time , qs.last_worker_time , qs.min_worker_time , qs.max_worker_time
, qs.total_physical_reads , qs.last_physical_reads , qs.min_physical_reads , qs.max_physical_reads
, qs.total_logical_writes , qs.last_logical_writes , qs.min_logical_writes , qs.max_logical_writes
, qs.total_logical_reads , qs.last_logical_reads , qs.min_logical_reads , qs.max_logical_reads
, qs.total_clr_time , qs.last_clr_time , qs.min_clr_time , qs.max_clr_time
, qs.total_elapsed_time , qs.last_elapsed_time , qs.min_elapsed_time , qs.max_elapsed_time
, sqlplan.encrypted , qs.sql_handle , qs.plan_handle , sqltxt.text "raw_text"
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) sqltxt
CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) sqlplan
ORDER BY qs.last_execution_time DESC;
알 수 있는 정보
- 쿼리가 매개변수화 되었는가
- 플랜 확인
- 부하가 어느정도 되는가
- 재사용이 되는가
'데이터베이스 > SQL Server' 카테고리의 다른 글
SSMS에서 자동으로 바꿔지는 한글 상태 문제 (0) | 2010.04.28 |
---|---|
프로시저 캐시의 특정 타입만(SQLCP) 초기화 시키자. (0) | 2009.10.06 |
SQL Server 쿼리 성능 최적화 (0) | 2009.04.13 |
SQL Server CPU 성능 최적화 (0) | 2009.04.13 |
유용한 프로시저 (0) | 2008.11.07 |