SQL Statistics (objeto de 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 Database Engine (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 acerca de la parametrización simple y forzada, vea ALTER DATABASE (Transact-SQL) y Parametrización simple.

Estos son los contadores de SQL ServerSQL Statistics.

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 Transact-SQL 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. Tenga en cuenta que las parametrizaciones automáticas también se denominan parametrizaciones simples en las 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. Tenga en cuenta que las parametrizaciones automáticas también se denominan 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 similares. SQL Server realiza numerosos intentos de parametrización automática; algunos son seguros y otros no. Tenga en cuenta que las parametrizaciones automáticas también se denominan 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. En versiones posteriores de SQL Server, las recompilaciones son de instrucciones, en lugar de las recompilaciones de lote en Microsoft SQL Server 2000. Por lo tanto, no es posible realizar una comparación directa de los valores de este contador entre SQL Server y versiones anteriores.

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.