{"id":1111,"date":"2017-03-12T17:55:51","date_gmt":"2017-03-12T12:25:51","guid":{"rendered":"http:\/\/pramodsingla.com\/?p=1111"},"modified":"2017-03-12T17:55:51","modified_gmt":"2017-03-12T12:25:51","slug":"sql-server-tuning-top-10-cpu-intensive-queries","status":"publish","type":"post","link":"https:\/\/pramodsingla.com\/?p=1111","title":{"rendered":"SQL Server Tuning : Top 10 CPU Intensive Queries"},"content":{"rendered":"<h2><strong>Problem Statement: <\/strong>Script to find top 10 CPU intensive\u00a0queries.<\/h2>\n<h2><strong>Solution:<\/strong><\/h2>\n<blockquote><p><span style=\"color:blue;\">SELECT<\/span>\u00a0<span style=\"color:blue;\">TOP<\/span>\u00a0<span style=\"color:black;\">10<\/span>\u00a0<span style=\"color:fuchsia;\"><i>Object_name<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:maroon;\">qt<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">objectid<\/span><span style=\"color:maroon;\">)<\/span><br \/>\n<span style=\"color:blue;\">AS<\/span>\u00a0<span style=\"color:red;\">&#8216;SP\u00a0Name&#8217;<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:fuchsia;\"><i>Substring<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:maroon;\">qt<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">text<\/span><span style=\"color:silver;\">,<\/span>\u00a0<span style=\"color:maroon;\">(<\/span>\u00a0<span style=\"color:maroon;\">qs<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">statement_start_offset<\/span>\u00a0<span style=\"color:silver;\">\/<\/span>\u00a0<span style=\"color:black;\">2<\/span>\u00a0<span style=\"color:maroon;\">)<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:black;\">1<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">(<\/span><br \/>\n<span style=\"color:maroon;\">(<\/span>\u00a0<span style=\"color:blue;\">CASE<\/span>\u00a0<span style=\"color:maroon;\">qs<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">statement_end_offset<\/span><br \/>\n<span style=\"color:blue;\">WHEN<\/span>\u00a0<span style=\"color:silver;\">&#8211;<\/span><span style=\"color:black;\">1<\/span>\u00a0<span style=\"color:blue;\">THEN<\/span>\u00a0<span style=\"color:fuchsia;\"><i>Datalength<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:maroon;\">qt<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">text<\/span><span style=\"color:maroon;\">)<\/span><br \/>\n<span style=\"color:blue;\">ELSE<\/span>\u00a0<span style=\"color:maroon;\">qs<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">statement_end_offset<\/span><br \/>\n<span style=\"color:blue;\">END<\/span><br \/>\n<span style=\"color:silver;\">&#8211;<\/span><br \/>\n<span style=\"color:maroon;\">qs<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">statement_start_offset<\/span>\u00a0<span style=\"color:maroon;\">)<\/span>\u00a0<span style=\"color:silver;\">\/<\/span>\u00a0<span style=\"color:black;\">2<\/span>\u00a0<span style=\"color:maroon;\">)<\/span>\u00a0<span style=\"color:silver;\">+<\/span>\u00a0<span style=\"color:black;\">1<\/span><span style=\"color:maroon;\">)<\/span><br \/>\n<span style=\"color:blue;\">AS<\/span>\u00a0<span style=\"color:maroon;\">statement_text<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">total_logical_reads<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">qs<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">execution_count<\/span><br \/>\n<span style=\"color:blue;\">AS<\/span>\u00a0<span style=\"color:red;\">&#8216;Execution\u00a0Count&#8217;<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">total_logical_reads<\/span>\u00a0<span style=\"color:silver;\">\/<\/span>\u00a0<span style=\"color:maroon;\">qs<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">execution_count<\/span><br \/>\n<span style=\"color:blue;\">AS<\/span>\u00a0<span style=\"color:red;\">&#8216;AvgLogicalReads&#8217;<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">qs<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">execution_count<\/span>\u00a0<span style=\"color:silver;\">\/<\/span>\u00a0<span style=\"color:fuchsia;\"><i>Datediff<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:maroon;\">minute<\/span><span style=\"color:silver;\">,<\/span>\u00a0<span style=\"color:maroon;\">qs<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">creation_time<\/span><span style=\"color:silver;\">,<\/span>\u00a0<span style=\"color:fuchsia;\"><i>Getdate<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:maroon;\">)<\/span><span style=\"color:maroon;\">)<\/span><br \/>\n<span style=\"color:blue;\">AS<\/span><br \/>\n<span style=\"color:red;\">&#8216;Calls\/minute&#8217;<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">qs<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">total_worker_time<\/span>\u00a0<span style=\"color:silver;\">\/<\/span>\u00a0<span style=\"color:maroon;\">qs<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">execution_count<\/span><br \/>\n<span style=\"color:blue;\">AS<\/span>\u00a0<span style=\"color:red;\">&#8216;AvgWorkerTime&#8217;<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">qs<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">total_worker_time<\/span><br \/>\n<span style=\"color:blue;\">AS<\/span>\u00a0<span style=\"color:red;\">&#8216;TotalWorkerTime&#8217;<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">qs<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">total_elapsed_time<\/span>\u00a0<span style=\"color:silver;\">\/<\/span>\u00a0<span style=\"color:maroon;\">qs<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">execution_count<\/span><br \/>\n<span style=\"color:blue;\">AS<\/span>\u00a0<span style=\"color:red;\">&#8216;AvgElapsedTime&#8217;<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">qs<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">total_logical_writes<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">qs<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">max_logical_reads<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">qs<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">max_logical_writes<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">qs<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">total_physical_reads<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">qt<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">dbid<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">qp<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">query_plan<\/span><br \/>\n<span style=\"color:blue;\">FROM<\/span>\u00a0\u00a0\u00a0<span style=\"color:maroon;\">sys<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">dm_exec_query_stats<\/span>\u00a0<span style=\"color:blue;\">AS<\/span>\u00a0<span style=\"color:maroon;\">qs<\/span><br \/>\n<span style=\"color:blue;\">CROSS<\/span>\u00a0<span style=\"color:maroon;\">apply<\/span>\u00a0<span style=\"color:maroon;\">sys<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:#ff0080;\"><b>Dm_exec_sql_text<\/b><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:maroon;\">qs<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">sql_handle<\/span><span style=\"color:maroon;\">)<\/span>\u00a0<span style=\"color:blue;\">AS<\/span>\u00a0<span style=\"color:maroon;\">qt<\/span><br \/>\n<span style=\"color:blue;\">OUTER<\/span>\u00a0<span style=\"color:maroon;\">apply<\/span>\u00a0<span style=\"color:maroon;\">sys<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:#ff0080;\"><b>Dm_exec_query_plan<\/b><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:maroon;\">qs<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">plan_handle<\/span><span style=\"color:maroon;\">)<\/span>\u00a0<span style=\"color:maroon;\">qp<\/span><br \/>\n<span style=\"color:blue;\">WHERE<\/span>\u00a0\u00a0<span style=\"color:maroon;\">qt<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">dbid<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:fuchsia;\"><i>Db_id<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:maroon;\">)<\/span>\u00a0<span style=\"color:green;\"><i>&#8212;\u00a0Filter\u00a0by\u00a0current\u00a0database<\/i><\/span><br \/>\n<span style=\"color:blue;\">ORDER<\/span>\u00a0\u00a0<span style=\"color:blue;\">BY<\/span>\u00a0<span style=\"color:maroon;\">totalworkertime<\/span>\u00a0<span style=\"color:blue;\">DESC<\/span><\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Problem Statement: Script to find top 10 CPU intensive\u00a0queries. Solution: SELECT\u00a0TOP\u00a010\u00a0Object_name(qt.objectid) AS\u00a0&#8216;SP\u00a0Name&#8217;, Substring(qt.text,\u00a0(\u00a0qs.statement_start_offset\u00a0\/\u00a02\u00a0)\u00a0+\u00a01, ( (\u00a0CASE\u00a0qs.statement_end_offset WHEN\u00a0&#8211;1\u00a0THEN\u00a0Datalength(qt.text) ELSE\u00a0qs.statement_end_offset END &#8211; qs.statement_start_offset\u00a0)\u00a0\/\u00a02\u00a0)\u00a0+\u00a01)[&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_mi_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"categories":[23],"tags":[66,75],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/pramodsingla.com\/index.php?rest_route=\/wp\/v2\/posts\/1111"}],"collection":[{"href":"https:\/\/pramodsingla.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pramodsingla.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pramodsingla.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pramodsingla.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1111"}],"version-history":[{"count":0,"href":"https:\/\/pramodsingla.com\/index.php?rest_route=\/wp\/v2\/posts\/1111\/revisions"}],"wp:attachment":[{"href":"https:\/\/pramodsingla.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1111"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pramodsingla.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1111"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pramodsingla.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1111"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}