Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр
SQL AzureБаза данных SQL в Microsoft Fabric
Позволяет 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 гипермасштабирования.
Вывод чтения версии
Область применения: База данных SQL Azure и база данных SQL в Microsoft Fabric
Если оператор читает более ранние версии строк из хранилища версий, вывод ввода/вывода сопровождается одной строкой для каждого объекта, у которого есть хотя бы одна прочитанная версия. Чтение версии происходит каждый раз, когда ядро СУБД проверяет более раннюю версию строки в цепочке версий, чтобы найти видимую версию для оператора. Для получения дополнительной информации см. метрики чтения версий.
| Элемент вывода | Значение |
|---|---|
Object |
Название таблицы или индексированного представления, соответствующее схеме. |
Tempdb versions read |
Количество строковых версий, прочитанных из хранилища версий в tempdb. |
In-row PVS versions read |
Количество версий строк, читаемых из хранилища перманентных версий (PVS), хранящихся в строке данных. |
Off-row PVS versions read |
Количество версий строк считывается из внутренней таблицы PVS вне строки. |
Online index PVS versions read |
Количество версий строк, считываемых из внутренней таблицы PVS, используемой во время выполнения онлайн-операции индекса. |
Чтение версий — это количество версий строк, а не количество страниц.
Замечания
При STATISTICS IO использовании on отображается статистическая информация и при отключении информации не отображается.
Если этот параметр имеет значение ON, будут возвращаться статистические сведения обо всех инструкциях Transact-SQL, пока значение параметра не изменится на OFF.
Параметр SET STATISTICS IO задан во время выполнения или выполнения, а не во время синтаксического анализа.
Примечание.
При получении столбцов больших объектов (LOB) инструкциями языка Transact-SQL для некоторых операций получения может потребоваться многократный обход дерева LOB. Это может привести к SETSET STATISTICS IO появлению более высоких логических показателей, чем ожидалось.
Разрешения
Чтобы использовать SET STATISTICS IO, пользователи должны иметь соответствующие разрешения для выполнения инструкции Transact-SQL. Разрешение SHOWPLAN не требуется.
Примеры
В этом примере показано, сколько логических и физических операций чтения используется SQL Server при обработке инструкций.
Примечание.
В База данных SQL Azure и SQL Database в Microsoft Fabric этот USE оператор недоступен. Вместо этого подключайтесь напрямую к заданной базе данных и запускайте остальную часть кода.
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.
В База данных SQL Azure и SQL Database в Microsoft Fabric, если оператор читает версии строк, вывод также включает строку чтения версии для каждого объекта с считыванием версий. Например, следующая строка показывает, что оператор читал 1 000 версий строк из внутренней таблицы PVS вне строки во время чтения таблицы Production.ProductCostHistory :
Object '[Production].[ProductCostHistory]'. Tempdb versions read 0, in-row PVS versions read 0,
off-row PVS versions read 1000, online index PVS versions read 0.