Compartir a través de


sys.dm_exec_query_stats

Actualizado: 12 de diciembre de 2006

Devuelve estadísticas de rendimiento del agregado para planes de consulta en caché. La vista contiene una fila por cada instrucción de consulta dentro del plan en caché, y la duración de las filas está ligada al propio plan. Cuando se quita un plan de la caché, se eliminan las filas correspondientes de esta vista.

[!NOTA] Una consulta inicial de sys.dm_exec_query_stats podría producir resultados imprecisos si hay una carga de trabajo ejecutándose actualmente en el servidor. Pueden determinarse resultados más precisos volviendo a ejecutar la consulta.

Nombre de columna Tipo de datos Descripción

sql_handle

varbinary(64)

Es un testigo que hace referencia al lote o al procedimiento almacenado del que forma parte la consulta.

sql_handle, junto con statement_start_offset y statement_end_offset, se pueden usar para recuperar el texto SQL de la consulta llamando a la función de administración dinámica sys.dm_exec_sql_text.

statement_start_offset

int

Indica (en bytes y empezando por 0) la posición inicial de la consulta que la fila describe en el texto del lote o del objeto persistente.

statement_end_offset

int

Indica (en bytes y empezando por 0) la posición final de la consulta que la fila describe en el texto del lote o del objeto persistente. El valor -1 indica el final del lote.

plan_generation_num

bigint

Número de secuencia que se puede usar para distinguir entre instancias de los planes después de una nueva compilación.

plan_handle

varbinary(64)

Testigo que hace referencia al plan compilado del que forma parte la consulta. Este valor se puede pasar a la función de administración dinámica sys.dm_exec_query_plan para obtener el plan de consulta.

creation_time

datetime

Hora en que se compiló el plan.

last_execution_time

datetime

Hora en que se ejecutó el plan por última vez.

execution_count

bigint

Número de veces que se ha ejecutado el plan desde que se compiló por última vez.

total_worker_time

bigint

Tiempo total de CPU, en microsegundos, consumido por las ejecuciones de este plan desde su compilación.

last_worker_time

bigint

Tiempo de CPU, en microsegundos, consumido la última vez que se ejecutó el plan.

min_worker_time

bigint

Tiempo mínimo de CPU, en microsegundos, que ha utilizado este plan durante una ejecución.

max_worker_time

bigint

Tiempo máximo de CPU, en microsegundos, que ha utilizado este plan durante una ejecución.

total_physical_reads

bigint

Número total de lecturas físicas realizadas por las ejecuciones de este plan desde su compilación.

last_physical_reads

bigint

Número de lecturas físicas realizadas la última vez que se ejecutó el plan.

min_physical_reads

bigint

Número mínimo de lecturas físicas que ha realizado este plan durante una ejecución.

max_physical_reads

bigint

Número máximo de lecturas físicas que ha realizado este plan durante una ejecución.

total_logical_writes

bigint

Número total de escrituras lógicas realizadas por las ejecuciones de este plan desde su compilación.

last_logical_writes

bigint

Número de escrituras lógicas realizadas la última vez que se ejecutó el plan.

min_logical_writes

bigint

Número mínimo de escrituras lógicas que ha realizado este plan durante una ejecución.

max_logical_writes

bigint

Número máximo de escrituras lógicas que ha realizado este plan durante una ejecución.

total_logical_reads

bigint

Número total de lecturas lógicas realizadas por las ejecuciones de este plan desde su compilación.

last_logical_reads

bigint

Número de lecturas lógicas realizadas la última vez que se ejecutó el plan.

min_logical_reads

bigint

Número mínimo de lecturas lógicas que ha realizado este plan durante una ejecución.

max_logical_reads

bigint

Número máximo de lecturas lógicas que ha realizado este plan durante una ejecución.

total_clr_time

bigint

Tiempo, en microsegundos, consumido en objetos de Microsoft .NET Framework Common Language Runtime (CLR) mediante las ejecuciones de este plan desde su compilación. Los objetos CLR pueden ser procedimientos almacenados, funciones, desencadenadores, tipos y agregados.

last_clr_time

bigint

Tiempo consumido por la ejecución dentro de objetos de .NET Framework CLR durante la última ejecución de este plan. Los objetos CLR pueden ser procedimientos almacenados, funciones, desencadenadores, tipos y agregados.

min_clr_time

bigint

Tiempo mínimo, en microsegundos, que este plan ha consumido en objetos de .NET Framework CLR durante una sola ejecución. Los objetos CLR pueden ser procedimientos almacenados, funciones, desencadenadores, tipos y agregados.

max_clr_time

bigint

Tiempo máximo, en microsegundos, que este plan ha consumido en .NET Framework CLR durante una sola ejecución. Los objetos CLR pueden ser procedimientos almacenados, funciones, desencadenadores, tipos y agregados.

total_elapsed_time

bigint

Tiempo total transcurrido, en microsegundos, hasta la finalización de las ejecuciones de este plan.

last_elapsed_time

bigint

Tiempo transcurrido, en microsegundos, hasta la finalización de la ejecución más reciente de este plan.

min_elapsed_time

bigint

Tiempo mínimo transcurrido, en microsegundos, hasta finalizar cualquier ejecución de este plan.

max_elapsed_time

bigint

Tiempo máximo transcurrido, en microsegundos, hasta finalizar cualquier ejecución de este plan.

Permisos

Requiere el permiso VIEW SERVER STATE en el servidor.

Notas

Cuando se completa una consulta, se actualizan las estadísticas en la vista.

Ejemplos

En el siguiente ejemplo se devuelve información acerca de las cinco consultas con el mayor promedio de tiempo CLR.

SELECT TOP 5 creation_time, last_execution_time, total_clr_time,
    total_clr_time/execution_count AS [Avg CLR Time], last_clr_time,
    execution_count, 
    SUBSTRING(st.text, (qs.statement_start_offset/2) + 1,
    ((CASE statement_end_offset 
        WHEN -1 THEN DATALENGTH(st.text)
        ELSE qs.statement_end_offset END 
            - qs.statement_start_offset)/2) + 1) as statement_text
FROM sys.dm_exec_query_stats as qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) as st
ORDER BY total_clr_time/execution_count DESC;
GO

Vea también

Referencia

Funciones y vistas de administración dinámica
Funciones y vistas de administración dinámica relacionadas con ejecuciones
sys.dm_exec_sql_text
sys.dm_exec_query_plan

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

12 de diciembre de 2006

Contenido modificado:
  • Se han corregido las definiciones de las columnas sql_handle, plan_generation_num y plan_handle.

14 de abril de 2006

Contenido modificado:
  • Se ha corregido el ejemplo.

5 de diciembre de 2005

Contenido nuevo:
  • Se ha agregado una nota acerca de la necesidad de consultar esta vista de administración dinámica varias veces para obtener resultados más precisos en caso de que haya una carga de trabajo ejecutándose actualmente en el servidor.
  • Se explica que las columnas statement_end_offset y statement_start_offset tienen base cero y que el valor -1 de la columna statement_end_offset indica el final del lote.