sys.dm_exec_query_stats
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. |
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
| Versión | Historial |
|---|---|
|
12 de diciembre de 2006 |
|
|
14 de abril de 2006 |
|
|
5 de diciembre de 2005 |
|
Nota: