sql >> Base de Datos >  >> RDS >> Sqlserver

¿Qué es STATISTICS IO en SQL Server?

En SQL Server, puede usar SET STATISTICS IO declaración para generar información detallada sobre la cantidad de actividad del disco generada por una declaración T-SQL.

En herramientas gráficas como SSMS y Azure Data Studio, puede ver esta información en Mensajes pestaña.

Ejemplo

Aquí hay un ejemplo simple para demostrar.

SET STATISTICS IO ON;

SELECT 
    c.CityName, 
    s.StateProvinceName AS State, 
    c.LatestRecordedPopulation AS Population
FROM Application.Cities c
INNER JOIN Application.StateProvinces s
ON c.StateProvinceID = s.StateProvinceID
WHERE c.LatestRecordedPopulation > 2000000
ORDER BY c.LatestRecordedPopulation DESC;

Inicialmente, probablemente verá los resultados de la consulta como de costumbre:

Para ver la salida de STATISTICS IO , haz clic en Mensajes pestaña:

Este ejemplo se realizó en Azure Data Studio y es el mismo proceso cuando se usa SSMS. Sin embargo, los pasos reales que debe seguir pueden depender de la herramienta que utilice para conectarse a SQL Server.

A continuación se muestra una copia del STATISTICS IO mensaje de la captura de pantalla anterior:

(6 rows affected)
Table 'Worktable'. Scan count 0, logical reads 0, 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.
Table 'Workfile'. Scan count 0, logical reads 0, 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.
Table 'StateProvinces'. Scan count 1, logical reads 2, 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.
Table 'Cities'. Scan count 1, logical reads 497, 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.
Total execution time: 00:00:00.027

Cómo apagarlo

Configuración de STATISTICS IO a ON afecta a todas las sentencias T-SQL subsiguientes hasta que se desactive.

Para apagarlo, simplemente ejecútelo nuevamente usando OFF en lugar de ON :

SET STATISTICS IO OFF;