SET SET STATISTICS IO (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseInstancia administrada de Azure SQLBase de datos SQL en Microsoft Fabric

Hace que SQL Server muestre información relacionada con la cantidad de actividad de E/S física y lógica generada por las instrucciones Transact-SQL. La E/S física está relacionada con el acceso a páginas de datos en disco y la E/S lógica, con el acceso a páginas de datos en memoria (caché de datos).

Convenciones de sintaxis de Transact-SQL

Sintaxis

SET STATISTICS IO { ON | OFF }

Output

La siguiente tabla muestra y describe los elementos de salida.

Elemento de salida Significado
Table Nombre de la tabla.
Scan count Número de búsquedas o exámenes iniciados después de alcanzar el nivel hoja en cualquier dirección para recuperar todos los valores y generar el conjunto de datos final de la salida.

El número de exámenes es 0 si el índice usado es un índice único o un índice agrupado en una clave principal y está buscando un solo valor. Por ejemplo, WHERE Primary_Key_Column = <value>.
El número de exámenes es 1 cuando se busca un valor con un índice agrupado que no es único y que se define en una columna de clave de no principal. Este proceso se realiza para comprobar si hay valores duplicados para el valor de clave que está buscando. Por ejemplo, WHERE Clustered_Index_Key_Column = <value>.
El recuento de exámenes es N cuando N es el número de diferentes búsquedas o exámenes iniciados hacia el lado izquierdo o derecho en el nivel hoja después de buscar un valor de clave mediante la clave de índice.
logical reads Número de páginas leídas de la caché de datos.
physical reads Número de páginas leídas del disco.
page server reads Número de páginas leídas de los servidores de páginas. **
read-ahead reads Número de páginas colocadas en la memoria caché por la consulta a través de la lectura anticipada.
page server read-ahead reads Número de páginas leídas de los servidores de páginas y colocadas en la memoria caché de datos por la consulta, a través de la lectura anticipada. **
lob logical reads Número de páginas loB* leídas de la caché de datos.
lob physical reads Número de páginas loB* leídas del disco.
lob page server reads Número de páginas loB* leídas de los servidores de páginas. **
lob read-ahead reads Número de páginas loB* colocadas en la caché de datos por la consulta, a través de la lectura anticipada.
lob page server read-ahead reads Número de páginas loB* leídas de los servidores de páginas y colocadas en la caché de datos por la consulta, a través de la lectura anticipada. **

* Los tipos de datos binarios de objetos grandes (LOB) incluyen páginas de índice text, ntext, image, varchar(max), nvarchar(max), varbinary(max)o columnstore index pages.

** Solo para Hiperescala de Azure SQL Database.

Salida de lectura de versión

Se aplica a: Azure SQL Database y SQL Database en Microsoft Fabric

Si una instrucción lee versiones anteriores de filas de una tienda de versiones, la salida de E/S es seguida de una línea para cada objeto que tenga al menos una versión leída. Se lee una versión cada vez que el Motor de base de datos examina una versión anterior de una fila en una cadena de versiones para encontrar la versión visible para la sentencia. Para más información, consulta Métricas de lectura de versiones.

Elemento de salida Significado
Object Nombre cualificado por esquema de la tabla o vista indexada.
Tempdb versions read Número de versiones de filas leídas desde el almacén de versiones en tempdb.
In-row PVS versions read Número de versiones de fila leídas del almacenamiento de versiones persistentes (PVS) que se almacenan en la fila de datos.
Off-row PVS versions read Número de versiones de fila leídas de la tabla interna PVS fuera de fila.
Online index PVS versions read Número de versiones de fila leídas de la tabla interna PVS utilizada mientras se ejecuta una operación de índice en línea.

Las lecturas de versión son el conteo de las filas, no el de las páginas.

Comentarios

Cuando STATISTICS IO está activado, se muestra información estadística y, cuando se desactiva, no se muestra la información.

Cuando esta opción se establece en ON, las instrucciones Transact-SQL siguientes devolverán la información estadística hasta que la opción sea OFF.

El valor de se establece en tiempo de SET STATISTICS IO ejecución o ejecución y no en tiempo de análisis.

Nota:

Cuando las instrucciones Transact-SQL recuperan columnas LOB, es posible que algunas operaciones de recuperación de LOB necesiten recorrer el árbol de LOB varias veces. Esto puede provocar SETSET STATISTICS IO que se reporten lecturas lógicas superiores a las esperadas.

Permisos

Para usar SET STATISTICS IO, los usuarios deben tener los permisos adecuados para ejecutar la instrucción Transact-SQL. El permiso SHOWPLAN no es necesario.

Ejemplos

En este ejemplo se muestra cómo SQL Server utiliza las lecturas lógicas y físicas mientras procesa las instrucciones.

Nota:

En Azure SQL Database y SQL Database en Microsoft Fabric, la USE declaración no está disponible. En su lugar, conéctate directamente a la base de datos prevista y ejecuta el resto de la muestra de código.

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

Esta es la salida del mensaje:

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.

En Azure SQL Database y SQL Database en Microsoft Fabric, si la instrucción dice versiones de fila, la salida también incluye una línea de lectura de versión para cada objeto con lecturas de versión. Por ejemplo, la siguiente línea muestra que la instrucción leyó 1.000 versiones de fila de la tabla interna PVS fuera de fila mientras leía la Production.ProductCostHistory tabla:

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.