SET STATISTICS IO (Transact-SQL)

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

Позволяет SQL Server отображать сведения об объемах физического и логического ввода-вывода, связанного с выполнением инструкций Transact-SQL. Физический ввод-вывод связан с доступом к страницам данных на диске, а логический ввод-вывод связан с доступом к страницам данных в памяти (кэш данных).

Соглашения о синтаксисе Transact-SQL

Синтаксис

SET STATISTICS IO { ON | OFF }

Выходные данные

В следующей таблице перечислены и описаны элементы вывода.

Элемент вывода Значение
Table Имя таблицы.
Scan count Количество операций поиска или сканирования, запущенных после достижения конечного уровня в любом направлении с целью получения всех значений при построении окончательного набора данных для вывода.

Число просмотров равно 0, если используется уникальный или кластеризованный индекс первичного ключа и происходит поиск только одного значения. Например, WHERE Primary_Key_Column = <value>.
Число просмотров равно 1, если при поиске одного значения используется неуникальный кластеризованный индекс, который определен в столбце непервичного ключа. Это позволяет проводить проверку на наличие повторяющихся значений ключа, который вы ищете. Например, WHERE Clustered_Index_Key_Column = <value>.
Число сканирования — N, если N — это количество различных поисков или сканирования, запущенных влево или правой стороне на конечном уровне после поиска значения ключа с помощью ключа индекса.
logical reads Число страниц, считанных из кэша данных.
physical reads Число страниц, считанных с диска.
page server reads Количество страниц, считываемых с серверов страниц. **
read-ahead reads Количество страниц, помещенных в кэш запросом, с помощью предварительного чтения.
page server read-ahead reads Количество страниц, считываемых с серверов страниц и помещенных в кэш данных запросом, с помощью предварительного чтения. **
lob logical reads Количество страниц БИЗНЕС-объектов, считываемых из кэша данных.
lob physical reads Количество страниц бизнес-аналитики, считываемых с диска.
lob page server reads Количество бизнес-страниц, считываемых с серверов страниц. **
lob read-ahead reads Количество страниц LOB*, помещенных в кэш данных запросом, с помощью предварительного чтения.
lob page server read-ahead reads Количество страниц LOB* считывается с серверов страниц и помещается в кэш данных запросом с помощью предварительного чтения. **

* Типы данных больших двоичных объектов (LOB) включают текст, ntext, image, varchar(max), nvarchar(max), varbinary(max)или страницы индекса columnstore.

** Ненулевое значение только для База данных SQL Azure гипермасштабирования.

Замечания

При STATISTICS IO использовании on отображается статистическая информация и при отключении информации не отображается.

Если этот параметр имеет значение ON, будут возвращаться статистические сведения обо всех инструкциях Transact-SQL, пока значение параметра не изменится на OFF.

Параметр SET STATISTICS IO задан во время выполнения или выполнения, а не во время синтаксического анализа.

Примечание.

При получении столбцов больших объектов (LOB) инструкциями языка Transact-SQL для некоторых операций получения может потребоваться многократный обход дерева LOB. Это может привести к тому, что операции ввода-вывода SET STATISTICS будут сообщать выше ожидаемых логических операций чтения.

Разрешения

Чтобы использовать 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 76, physical reads 0,
page server reads 0, read-ahead reads 0, page server read-ahead reads 0, 
lob logical reads 0, lob physical reads 0, lob page server reads 0, 
lob read-ahead reads 0, lob page server read-ahead reads 0.