Compartir vía


Estadísticas de SQL (objeto de SQL Server)

Se aplica a: SQL Server

El objeto SQLServer:SQL Statistics de SQL Server proporciona contadores para supervisar la compilación y el tipo de solicitudes que se envían a una instancia de SQL Server. La supervisión del número de compilaciones y recompilaciones de consultas y el número de lotes que recibe una instancia de SQL Server proporciona información acerca de la rapidez con la que SQL Server procesa las consultas de usuarios y la eficacia con la que el optimizador de consultas las procesa.

La compilación constituye una parte significativa del intervalo de respuesta de una consulta. Para guardar el costo de compilación, el motor de base de datos guarda el plan de consulta compilado en una caché de consultas. El objetivo de la memoria caché es reducir la compilación al almacenar consultas compiladas para volver a utilizarlas posteriormente, lo que elimina la necesidad de volver a compilar las consultas cuando se ejecuten después. No obstante, se debe compilar cada consulta única al menos una vez. Las recompilaciones de consultas pueden deberse a los siguientes factores:

  • Cambios de esquema, incluidos cambios básicos como agregar columnas o índices a una tabla, o bien cambios estadísticos como insertar o eliminar un número significativo de filas de una tabla.

  • Cambios en el entorno (instrucción SET). Los cambios en la configuración de la sesión como ANSI_PADDING o ANSI_NULLS pueden hacer que se vuelva a compilar una consulta.

Para obtener más información sobre la parametrización simple y forzada, vea ALTER DATABASE (Transact-SQL).

Estos son los contadores de SQL Statistics de SQL Server.

Contadores de SQLServer:SQL Statistics Descripción
Intentos de parametrización automática/seg. Número de intentos de parametrización automática por segundo. El número total deber ser la suma de las parametrizaciones automáticas seguras, no seguras y con errores. La parametrización automática tiene lugar cuando una instancia de SQL Server intenta parametrizar una solicitud de SQL Server reemplazando algunos literales por parámetros, de forma que se posibilita la reutilización del plan de ejecución almacenado en caché resultante en varias solicitudes parecidas. Las parametrizaciones automáticas también se conocen como parametrizaciones simples en versiones más recientes de SQL Server. Este contador no incluye las parametrizaciones forzadas.
Solicitudes de lotes/seg. Número de lotes de comandos de Transact-SQL recibidos por segundo. Esta estadística se ve afectada por todas las restricciones (como E/S, número de usuarios, tamaño de la memoria caché, complejidad de las solicitudes, etc.). Un número alto de solicitudes de lotes significa un buen rendimiento.
Parametrizaciones automáticas con error/seg. Número de intentos de parametrización automática con error por segundo. Este número debería ser bajo. Las parametrizaciones automáticas también se conocen como parametrizaciones simples en versiones posteriores de SQL Server.
Parametrizaciones forzadas/seg. Número de parametrizaciones forzadas logradas por segundo.
Ejecuciones de planes correctos/seg Número de ejecuciones de planes por segundo en los que el plan de consulta se ha generado utilizando una guía de plan.
Ejecuciones de planes equivocados/seg Número de ejecuciones de planes por segundo en los que una guía de plan no se pudo aplicar al generar los planes. Se descartó la guía de plan y se utilizó la compilación normal para generar el plan ejecutado.
Parametrizaciones automáticas seguras/seg. Número de intentos de parametrización automática segura por segundo. El término "segura" se refiere a la determinación de que un plan de ejecución almacenado en caché puede compartirse entre varias instrucciones Transact-SQL. SQL Server realiza numerosos intentos de parametrización automática; algunos son seguros y otros no. Las parametrizaciones automáticas también se conocen como parametrizaciones simples en versiones posteriores de SQL Server. Esto no incluye las parametrizaciones forzadas.
Velocidad de atención de SQL Número de atenciones por segundo. Una atención es una solicitud del cliente para finalizar la solicitud que se está ejecutando en ese momento.
Compilaciones SQL/seg. Número de compilaciones SQL por segundo. Indica el número de veces que se ha especificado la ruta de acceso al código de compilación. Incluye compilaciones causadas por recompilaciones de instrucciones en SQL Server. Cuando la actividad de usuarios de SQL Server es estable, este valor permanece fijo.
Recompilaciones SQL/seg. Número de recompilaciones de instrucciones por segundo. Cuenta el número de veces que se desencadenan las recompilaciones de instrucciones. En general, es conveniente que el número de recompilaciones sea bajo.
Parametrizaciones automáticas no seguras/seg. Número de intentos de parametrización automática no segura por segundo. Por ejemplo, la consulta dispone de algunas características que impiden compartir el plan almacenado en caché. Estas parametrizaciones se designan como no seguras. Esta opción no cuenta el número de parametrizaciones forzadas.

Ejemplo

Puede empezar a explorar los contadores de rendimiento de consultas en este objeto mediante esta consulta T-SQL en la vista de administración dinámica sys.dm_os_performance_counters:

SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%SQL Statistics%';