Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment trouver les requêtes les plus lentes

Dans SQL 2005, vous pouvez utiliser des vues de gestion pour rechercher des requêtes lentes. Un bon script que j'ai trouvé il y a quelque temps sur les performances du serveur SQL vous aidera à démarrer ; il répertorie les données les plus lentes en premier.

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;