SET STATISTICS IO (Transact-SQL)

Применимо к:SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

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

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

Синтаксис

  
SET STATISTICS IO { ON | OFF }  

Примечание.

Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.

Замечания

Если параметру STATISTICS IO задано значение ON, отображаются статистические сведения, а если OFF, то они не отображаются.

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

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

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

Число просмотров равно 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 устанавливается во время запуска или выполнения, но не во время синтаксического анализа.

Примечание.

При получении столбцов больших объектов (LOB) инструкциями языка Transact-SQL для некоторых операций получения может потребоваться многократный обход дерева 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)