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

¿Qué es ESTADÍSTICA XML en SQL Server?

En SQL Server, puede usar el SET STATISTICS XML declaración para generar información detallada sobre cómo se ejecutó una declaración T-SQL.

Esta información se proporciona en forma de un documento XML bien formado.

Una vez SET STATISTICS XML está configurado en ON , cada declaración subsiguiente se refleja en la salida mediante un único documento XML.

Cada documento XML contiene el texto de la instrucción, seguido de los detalles de los pasos de ejecución.

El resultado muestra información en tiempo de ejecución, como los costos, los índices accedidos y los tipos de operaciones realizadas, el orden de unión, la cantidad de veces que se realiza una operación física, la cantidad de filas que produjo cada operador físico y más.

Ejemplo

Aquí hay un ejemplo simple para demostrar.

SET STATISTICS XML 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;

Resultado:

Cuando haga esto con una herramienta gráfica como SSMS o Azure Data Studio (en la imagen), probablemente verá un plan de consulta gráfico como el de la captura de pantalla.

En este caso, probablemente podrá hacer clic en varias pestañas para ver los resultados reales, así como otros datos estadísticos.

Esto es lo que sucede cuando hago clic en Resultados pestaña:

En este caso puedo ver los resultados reales, además de otra fila con el XML Showplan. Al hacer clic en esa fila, se abre el documento XML en una nueva ventana:

Y esto es lo que sucede cuando hago clic en Operaciones principales pestaña:

Cómo apagarlo

Configuración STATISTICS XML 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 XML OFF;

STATISTICS XML Reemplaza STATISTICS PROFILE

Según la documentación de Microsoft, SET STATISTICS XML debe usarse en lugar de SET STATISTICS PROFILE .

SET STATISTICS PROFILE y SET STATISTICS XML son equivalentes entre sí. El primero produce salida textual; el último produce una salida XML. En versiones futuras de SQL Server, la nueva información del plan de ejecución de consultas solo se mostrará a través de la declaración XML SET STATISTICS, no la declaración SET STATISTICS PROFILE.

ESTADÍSTICAS XML vs Incluir Plan de Ejecución Real

Si Incluye plan de ejecución real está seleccionado en SSMS, SET STATISTICS XML no produce salida XML Showplan. Borre Incluir plan de ejecución real antes de usar SET STATISTICS XML .