ver una transact tabla rendimiento optimizar optimas mejorar lentas ejemplos ejecucion datos consultas sql-server sql-server-2005 profiling

sql server - una - Cómo encontrar las consultas más lentas



ver consultas en ejecucion sql server (3)

Al usar Sql Server 2005 Profiler, ¿qué eventos, columnas y filtros rastrea para encontrar las consultas más lentas y los procedimientos almacenados?

Lento = mayor que N segundos, 10 por motivo de argumento.


Antes de usar el generador de perfiles, reviso los informes de uso incorporados. Haga clic con el botón derecho en una base de datos, Informes, Informes estándar y luego Estadísticas de ejecución de objetos.

Enumera los planes de ejecución actualmente en caché, junto con la cantidad de recursos y la cantidad de veces que se han ejecutado. Esto generalmente da una muy buena idea de lo que mantiene al servidor ocupado.


En SQL 2005 puede usar vistas de administración para encontrar consultas de ejecución lenta. Un buen script que encontré hace un tiempo en el rendimiento del servidor SQL lo ayudará a comenzar; Enumera los datos con el rendimiento más lento primero.

SELECT creation_time ,last_execution_time ,total_physical_reads ,total_logical_reads ,total_logical_writes , execution_count , total_worker_time , total_elapsed_time , total_elapsed_time / execution_count avg_elapsed_time ,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) st ORDER BY total_elapsed_time / execution_count DESC;


La columna de duración lo hace por mí, pero a veces miro las columnas de lectura y escritura también.

Yo uso el filtro TSQL: StmtCompleted para obtener las consultas en bruto. Es posible que desee agregar otros como procedimientos almacenados a eso, pero el tsql es la "base" que necesita ver. Como dice el artículo de MSDN

"La ejecución de un procedimiento almacenado puede ser supervisada por SP: Starting, SP: StmtStarting, SP: StmtCompleted y SP: Clases de eventos completadas y todas las clases de eventos de TSQL".