18 abr 2012

Script: Las consultas que mas consumen CPU #SQL #Azure #SQLPT

El siguiente ejemplo devuelve información acerca de las cinco mejores consultas clasificadas según su tiempo de CPU promedio. En este ejemplo se agrega las consultas según su hash de consulta, de modo que las consultas lógicamente equivalentes se agrupan según su consumo acumulado de los recursos.

-- Las To 10 Consultas
SELECT TOP 10 query_stats.query_hash
              AS
              "Query Hash",
              SUM(query_stats.total_worker_time) / SUM(
              query_stats.execution_count) AS
              "Avg CPU Time",
              MIN(query_stats.statement_text)
              AS "Statement Text"
FROM   (SELECT qs.*,
               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) AS
       query_stats
GROUP  BY query_stats.query_hash
ORDER  BY 2 DESC;

GO 

No hay comentarios.:

Publicar un comentario