Frågor som drar mycket CPU


Tag : CPU,Performance,SQL Server

SELECT TOP(10) Sum(CONVERT(DECIMAL(38, 6), Q.total_worker_time) / 1000000) 
               AS 
               [CPU (secs)], 
               Sum(Q.execution_count) 
               AS [Execution count], 
               Min(COALESCE(Quotename(Db_name(Q.dbid)), N'-') 
                   + N'.' 
                   + COALESCE(Quotename(Object_schema_name(Q.objectid, Q.dbid)), 
                   N'-') 
                   + N'.' 
                   + COALESCE(Quotename(Object_name(Q.objectid, Q.dbid)), N'-')) 
               AS [Module], 
               Min(Q.statement_text) 
               AS [Statement] 
FROM   (SELECT QS.*, 
               ST.dbid                                  AS dbid, 
               ST.objectid                              AS objectid, 
               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 Q 
--where Q.dbid = db_id() 
GROUP  BY Q.query_hash 
ORDER  BY [cpu (secs)] DESC; 

go

About

Det här är min digitala anteckningsbok för allt som har med databaser, automatisering och teknik att göra.
Här samlar jag alla de där skripten, lösningarna och knepen jag byggt på mig under åren – främst inom SQL Server och PowerShell.
Istället för att de ska ligga och damma i en glömd mapp delar jag med mig av dem här, så att både jag själv (när minnet sviker) och du förhoppningsvis kan spara några timmars klickande.