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.