SET STATISTICS IO(Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Transact-SQL 문에 의해 생성된 물리적 및 논리적 IO 작업 양에 대한 정보가 SQL Server에 표시되도록 합니다. 물리적 IO는 디스크의 데이터 페이지 액세스와 관련이 있으며 논리적 IO는 메모리의 데이터 페이지 액세스(데이터 캐시)와 관련이 있습니다.

Transact-SQL 구문 표기 규칙

Syntax

  
SET STATISTICS IO { ON | OFF }  

참고 항목

SQL Server 2014(12.x) 및 이전 버전에 대한 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조 하세요.

설명

STATISTICS IO ON이면 통계 정보가 표시되고 OFF이면 정보가 표시되지 않습니다.

이 옵션을 ON으로 설정한 후에는 이 옵션을 OFF로 설정할 때까지 모든 Transact-SQL 문에서 통계 정보를 반환합니다.

다음 표에서는 출력 항목을 나열하고 설명합니다.

출력 항목 의미
테이블 테이블 이름입니다.
검색 수 출력에 대한 최종 데이터 세트를 구성하도록 모든 값을 검색하기 위해 어느 방향으로든 리프 수준에 도달한 후 시작된 찾기 또는 검색의 횟수입니다.

사용된 인덱스가 고유 인덱스이거나 기본 키의 클러스터형 인덱스이고 값을 하나만 찾는 중인 경우 검색 수가 0입니다. 예들 들어 WHERE Primary_Key_Column = <value>입니다.

기본 키 열이 아닌 키 열에 정의된 고유하지 않은 클러스터형 인덱스를 사용하여 하나의 값을 검색하는 경우에는 검색 수가 1입니다. 이 프로세스는 검색 중인 키 값의 중복 값을 확인하기 위해 수행됩니다. 예들 들어 WHERE Clustered_Index_Key_Column = <value>입니다.

인덱스 키를 사용하는 키를 찾은 후 리프 수준에서 왼쪽 또는 오른쪽 방향으로 시작된 서로 다른 찾기 또는 검색 횟수가 N인 경우 검색 수가 N이 됩니다.
논리적 읽기 수 데이터 캐시에서 읽은 페이지 수입니다.
물리적 읽기 수 디스크에서 읽은 페이지 수입니다.
미리 읽기 수 쿼리에 대해 캐시에 넣어진 페이지 수입니다.
LOB 논리적 읽기 수 데이터 캐시에서 읽은 페이지 수입니다. text, ntext, image, varchar(max), nvarchar(max), varbinary(max) 또는 columnstore 인덱스 페이지가 포함됩니다.
LOB 물리적 읽기 수 디스크에서 읽은 페이지 수입니다. text, ntext, image, varchar(max), nvarchar(max), varbinary(max) 또는 columnstore 인덱스 페이지가 포함됩니다.
LOB 미리 읽기 수 쿼리에 대해 캐시에 넣어진 페이지 수입니다. text, ntext, image, varchar(max), nvarchar(max), varbinary(max) 또는 columnstore 인덱스 페이지가 포함됩니다.

SET STATISTICS IO 옵션은 실행 시간 또는 런타임에 설정되며, 구문 분석 시에는 설정되지 않습니다.

참고

Transact-SQL 문이 LOB 열을 검색할 때 일부 LOB 검색 작업에 대해서는 LOB 트리를 여러 번 이동해야 할 수 있습니다. 이 경우 SET STATISTICS IO에서 예상 논리적 읽기 수보다 많이 보고할 수 있습니다.

사용 권한

SET STATISTICS IO 옵션을 사용하려면 사용자는 Transact-SQL 문을 실행할 수 있는 적절한 권한이 있어야 합니다. SHOWPLAN 권한은 필요하지 않습니다.

예제

다음 예에서는 문을 처리할 때 SQL Server에서 사용하는 논리적 및 물리적 읽기 수를 보여 줍니다.

USE AdventureWorks2022;  
GO         
SET STATISTICS IO ON;  
GO  
SELECT *   
FROM Production.ProductCostHistory  
WHERE StandardCost < 500.00;  
GO  
SET STATISTICS IO OFF;  
GO  

결과 집합은 다음과 같습니다.

Table 'ProductCostHistory'. Scan count 1, logical reads 5, physical   
reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0,   
lob read-ahead reads 0.  

참고 항목

SET 문(Transact-SQL)
SET SHOWPLAN_ALL(Transact-SQL)
SET STATISTICS TIME(Transact-SQL)