{"id":7956,"date":"2024-05-24T06:41:06","date_gmt":"2024-05-24T06:41:06","guid":{"rendered":"https:\/\/pariswells.com\/blog\/?p=7956"},"modified":"2024-05-24T06:41:07","modified_gmt":"2024-05-24T06:41:07","slug":"trace-sql-cpu-performance","status":"publish","type":"post","link":"https:\/\/pariswells.com\/blog\/research\/trace-sql-cpu-performance","title":{"rendered":"Trace SQL CPU Performance"},"content":{"rendered":"\n<pre class=\"wp-block-code\"><code class=\"\">SELECT TOP 10 s.session_id,\n           r.status,\n           r.cpu_time,\n           r.logical_reads,\n           r.reads,\n           r.writes,\n           r.total_elapsed_time \/ (1000 * 60) 'Elaps M',\n           SUBSTRING(st.TEXT, (r.statement_start_offset \/ 2) + 1,\n           ((CASE r.statement_end_offset\n                WHEN -1 THEN DATALENGTH(st.TEXT)\n                ELSE r.statement_end_offset\n            END - r.statement_start_offset) \/ 2) + 1) AS statement_text,\n           COALESCE(QUOTENAME(DB_NAME(st.dbid)) + N'.' + QUOTENAME(OBJECT_SCHEMA_NAME(st.objectid, st.dbid)) \n           + N'.' + QUOTENAME(OBJECT_NAME(st.objectid, st.dbid)), '') AS command_text,\n           r.command,\n           s.login_name,\n           s.host_name,\n           s.program_name,\n           s.last_request_end_time,\n           s.login_time,\n           r.open_transaction_count\nFROM sys.dm_exec_sessions AS s\nJOIN sys.dm_exec_requests AS r ON r.session_id = s.session_id CROSS APPLY sys.Dm_exec_sql_text(r.sql_handle) AS st\nWHERE r.session_id != @@SPID\nORDER BY r.cpu_time DESC<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">SELECT TOP 10  qs.last_execution_time, st.text AS batch_text,\n    SUBSTRING(st.TEXT, (qs.statement_start_offset \/ 2) + 1, ((CASE qs.statement_end_offset WHEN - 1 THEN DATALENGTH(st.TEXT) ELSE qs.statement_end_offset END - qs.statement_start_offset) \/ 2) + 1) AS statement_text,\n    (qs.total_worker_time \/ 1000) \/ qs.execution_count AS avg_cpu_time_ms,\n    (qs.total_elapsed_time \/ 1000) \/ qs.execution_count AS avg_elapsed_time_ms,\n    qs.total_logical_reads \/ qs.execution_count AS avg_logical_reads,\n    (qs.total_worker_time \/ 1000) AS cumulative_cpu_time_all_executions_ms,\n    (qs.total_elapsed_time \/ 1000) AS cumulative_elapsed_time_all_executions_ms\nFROM sys.dm_exec_query_stats qs\nCROSS APPLY sys.dm_exec_sql_text(sql_handle) st\nORDER BY(qs.total_worker_time \/ qs.execution_count) DESC<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-7956","post","type-post","status-publish","format-standard","hentry","category-research"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/posts\/7956","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/comments?post=7956"}],"version-history":[{"count":1,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/posts\/7956\/revisions"}],"predecessor-version":[{"id":7957,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/posts\/7956\/revisions\/7957"}],"wp:attachment":[{"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/media?parent=7956"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/categories?post=7956"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pariswells.com\/blog\/wp-json\/wp\/v2\/tags?post=7956"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}