TOTAL_WORKER_TIME = in mocrosecond https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-exec-query-stats-transact-sql?view=sql-server-ver16
-- Query 1 : Top 10 total CPU consuming queries >> sdh dicoba
-- Query 1 : Top 10 total CPU consuming queries >> sdh dicoba
SELECT TOP 10
@@SERVERNAME as ServerName,
@@servicename as ServiceName,
DB_NAME(qp.dbid) AS database_name,
QT.OBJECTID AS OBJECT_ID,
object_name(QT.OBJECTID) as ObjectName,
QS.TOTAL_WORKER_TIME AS CPU_TIME,
QT.TEXT AS STATEMENT_TEXT,
QP.QUERY_PLAN
FROM SYS.DM_EXEC_QUERY_STATS QS
CROSS APPLY SYS.DM_EXEC_SQL_TEXT (QS.SQL_HANDLE) AS QT
CROSS APPLY SYS.DM_EXEC_QUERY_PLAN (QS.PLAN_HANDLE) AS QP
-- where
not DB_NAME(qp.dbid) = 'msdb' and not DB_NAME(qp.dbid) = 'master' and not
DB_NAME(qp.dbid) = 'model' and not DB_NAME(qp.dbid) = 'tempdb'
--
where OBJECT_ID is not = 'null'
-- where DB_NAME(qp.dbid) =
'teguhth' and QT.OBJECTID is not null
-- where QT.TEXT ='select * from pembelian'
where QT.OBJECTID is not null
ORDER BY
TOTAL_WORKER_TIME DESC
