Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como encontrar as consultas mais lentas


No SQL 2005, você pode usar exibições de gerenciamento para localizar consultas de execução lenta. Um bom script que encontrei há algum tempo sobre o desempenho do SQL Server ajudará você a começar; ele lista os dados com o desempenho mais lento primeiro.
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;