SET STATISTICS IO (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

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 }  

Nota:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.

Comentarios

Cuando STATISTICS IO tiene el estado ON, se muestra información estadística; con el estado OFF, 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.

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 número de exámenes es N si N es el número de exploraciones y búsquedas diferentes empezó hacia la izquierda o la derecha del nivel hoja después de encontrar 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.
read-ahead reads Número de páginas llevadas a la caché por la consulta.
lob logical reads Número de páginas leídas de la caché de datos. Incluye text, ntext, image, varchar(max), nvarchar(max), varbinary(max) o páginas de índice de almacén de columnas.
lob physical reads Número de páginas leídas del disco. Incluye text, ntext, image, varchar(max), nvarchar(max), varbinary(max) o páginas de índice de almacén de columnas.
lob read-ahead reads Número de páginas llevadas a la caché por la consulta. Incluye text, ntext, image, varchar(max), nvarchar(max), varbinary(max) o páginas de índice de almacén de columnas.

La opción SET STATISTICS IO se establece en tiempo de ejecución, 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 ocasionar que SET STATISTICS IO informe de un mayor número de lecturas lógicas del que cabría esperar.

Permisos

Para utilizar 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.

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

El conjunto de resultados es:

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.  

Consulte también

Instrucciones SET (Transact-SQL)
SET SHOWPLAN_ALL (Transact-SQL)
SET STATISTICS TIME (Transact-SQL)