SQL Server, SQL 통계 개체
적용 대상: SQL Server
SQL Server의 SQLServer:SQL Statistics 개체는 컴파일 및 SQL Server 인스턴스로 전송된 요청 유형을 모니터링하는 카운터를 제공합니다. 쿼리 컴파일 및 다시 컴파일 수와 SQL Server 인스턴스에서 수신한 일괄 처리 수를 모니터링하면 SQL Server가 사용자 쿼리를 처리하는 빈도와 쿼리 최적화 프로그램이 쿼리를 얼마나 효과적으로 처리하고 있는지를 알 수 있습니다.
컴파일은 쿼리 소요 시간의 중요한 부분입니다. 컴파일 비용을 절약하기 위해 데이터베이스 엔진 컴파일된 쿼리 계획을 쿼리 캐시에 저장합니다. 캐시의 목적은 나중에 다시 사용할 수 있도록 컴파일된 쿼리를 저장하여 컴파일을 줄이기 위한 것이므로 나중에 실행될 때 쿼리를 다시 컴파일해야 하는 요구 사항이 종료됩니다. 그러나 각 고유 쿼리는 한 번 이상 컴파일되어야 합니다. 쿼리 다시 컴파일은 다음 요인으로 인해 발생할 수 있습니다.
테이블에 열 또는 인덱스 추가와 같은 기본 스키마 변경 내용 또는 테이블에서 많은 수의 행을 삽입하거나 삭제하는 것과 같은 통계 스키마 변경 내용을 포함하여 스키마가 변경됩니다.
환경(SET 문)이 변경됩니다. ANSI_PADDING 또는 ANSI_NULLS 같은 세션 설정이 변경되면 쿼리가 다시 컴파일될 수 있습니다.
단순 및 강제 매개 변수화에 대한 자세한 내용은 ALTER DATABASE(Transact-SQL)를 참조하세요.
SQL Server SQL 통계 카운터입니다.
SQL Server SQL 통계 카운터 | 설명 |
---|---|
Auto-Param Attempts/sec | 초당 자동 매개 변수화 시도 횟수입니다. 합계는 실패하고 안전하며 안전하지 않은 자동 매개 변수화의 합계여야 합니다. 자동 매개 변수화는 SQL Server 인스턴스가 일부 리터럴을 매개 변수로 대체하여 Transact-SQL 요청을 매개 변수화하려고 할 때 발생하므로 유사한 여러 요청에서 캐시된 실행 계획을 다시 사용할 수 있습니다. 자동 매개 변수화를 최신 버전의 SQL Server에서 단순 매개 변수화라고도 합니다. 이 카운터에는 강제 매개 변수화가 포함되지 않습니다. |
Batch Requests/sec | 초당 수신된 Transact-SQL 명령 일괄 처리 수입니다. 이 통계는 모든 제약 조건(예: I/O, 사용자 수, 캐시 크기, 요청 복잡성 등)의 영향을 받습니다. 일괄 처리 요청이 많으면 처리량이 좋습니다. |
Failed Auto-Params/sec | 초당 실패한 자동 매개 변수화 시도 횟수입니다. 이 값은 작아야 합니다. 자동 매개 변수화는 이후 버전의 SQL Server에서 간단한 매개 변수화라고도 합니다. |
Forced Parameterizations/sec | 초당 성공한 강제 매개 변수화 수입니다. |
Guided Plan Executions/sec | 계획 지침을 사용하여 쿼리 계획이 생성된 초당 계획 실행 수입니다. |
Misguided Plan Executions/sec | 계획 생성 중에 계획 지침을 적용할 수 없는 초당 계획 실행 수입니다. 계획 가이드가 무시되었고 실행된 계획을 생성하는 데 일반 컴파일이 사용되었습니다. |
Safe Auto-Params/sec | 초당 안전한 자동 매개 변수화 시도 횟수입니다. 안전은 비슷한 모양의 다른 Transact-SQL 문 간에 캐시된 실행 계획을 공유할 수 있다는 결정을 의미합니다. SQL Server는 많은 자동 매개 변수화 시도를 수행하며 그 중 일부는 안전한 것으로 판명되고 다른 일부는 실패합니다. 자동 매개 변수화는 이후 버전의 SQL Server에서 간단한 매개 변수화라고도 합니다. 강제 매개 변수화는 포함되지 않습니다. |
SQL 주의 비율 | 초당 주의 수입니다. 주의는 현재 실행 중인 요청을 종료하기 위한 클라이언트의 요청입니다. |
SQL Compilations/sec | 초당 SQL 컴파일 수입니다. 컴파일 코드 경로를 입력한 횟수를 나타내며 SQL Server의 문 수준 다시 컴파일로 인한 컴파일을 포함합니다. SQL Server 사용자 작업이 안정되면 이 값은 안정적인 상태에 도달합니다. |
SQL Re-Compilations/sec | 초당 문 다시 컴파일 수입니다. 문 다시 컴파일이 트리거되는 횟수를 계산합니다. 일반적으로 다시 컴파일이 낮게 유지되도록 합니다. |
Unsafe Auto-Params/sec | 초당 안전하지 않은 자동 매개 변수화 시도 횟수입니다. 예를 들어 쿼리에는 캐시된 계획이 공유되지 않는 몇 가지 특성이 있습니다. 안전하지 않은 것으로 지정됩니다. 강제 매개 변수화 수는 계산되지 않습니다. |
예시
sys.dm_os_performance_counters 동적 관리 뷰에서 이 T-SQL 쿼리를 사용하여 이 개체의 쿼리 성능 카운터를 탐색하기 시작합니다.
SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%SQL Statistics%';