{"id":1063,"date":"2017-03-10T11:48:44","date_gmt":"2017-03-10T06:18:44","guid":{"rendered":"http:\/\/pramodsingla.com\/?p=1063"},"modified":"2017-03-10T11:48:44","modified_gmt":"2017-03-10T06:18:44","slug":"sql-server-tuning-find-duplicate-stats","status":"publish","type":"post","link":"https:\/\/pramodsingla.com\/?p=1063","title":{"rendered":"SQL Server Tuning &#8211; Find Duplicate Stats"},"content":{"rendered":"<h2><strong>Problem Statement: <\/strong>Script to find\u00a0the duplicate stats.<br \/>\n<strong>Solution:<\/strong>\u00a0SQL server allows to create duplicate statistics but having duplicate statistics are overkill to system.Use following script to find the duplicate statistics.<\/h2>\n<blockquote><p><span style=\"color:green;\"><i>;<\/i><\/span><span style=\"color:blue;\">WITH<\/span>\u00a0<span style=\"color:maroon;\">all_stats<\/span><br \/>\n<span style=\"color:blue;\">AS<\/span>\u00a0<span style=\"color:maroon;\">(<\/span><span style=\"color:blue;\">SELECT<\/span>\u00a0<span style=\"color:maroon;\">s<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">object_id<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">s<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:blue;\">NAME<\/span>\u00a0<span style=\"color:blue;\">AS<\/span>\u00a0<span style=\"color:maroon;\">stats_name<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">s<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">stats_id<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">s<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">has_filter<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">s<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">auto_created<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">sc<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">stats_column_id<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">sc<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">column_id<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">c<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:blue;\">NAME<\/span>\u00a0<span style=\"color:blue;\">AS<\/span>\u00a0<span style=\"color:maroon;\">column_name<\/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;\">stats<\/span>\u00a0<span style=\"color:blue;\">AS<\/span>\u00a0<span style=\"color:maroon;\">s<\/span><br \/>\n<span style=\"color:blue;\">INNER<\/span>\u00a0<span style=\"color:blue;\">JOIN<\/span>\u00a0<span style=\"color:maroon;\">sys<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">stats_columns<\/span>\u00a0<span style=\"color:blue;\">AS<\/span>\u00a0<span style=\"color:maroon;\">sc<\/span><br \/>\n<span style=\"color:blue;\">ON<\/span>\u00a0<span style=\"color:maroon;\">s<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">stats_id<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:maroon;\">sc<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">stats_id<\/span><br \/>\n<span style=\"color:blue;\">AND<\/span>\u00a0<span style=\"color:maroon;\">s<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">object_id<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:maroon;\">sc<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">object_id<\/span><br \/>\n<span style=\"color:blue;\">AND<\/span>\u00a0<span style=\"color:maroon;\">sc<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">stats_column_id<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:black;\">1<\/span><br \/>\n<span style=\"color:blue;\">INNER<\/span>\u00a0<span style=\"color:blue;\">JOIN<\/span>\u00a0<span style=\"color:maroon;\">sys<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">columns<\/span>\u00a0<span style=\"color:blue;\">AS<\/span>\u00a0<span style=\"color:maroon;\">c<\/span><br \/>\n<span style=\"color:blue;\">ON<\/span>\u00a0<span style=\"color:maroon;\">c<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">object_id<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:maroon;\">s<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">object_id<\/span><br \/>\n<span style=\"color:blue;\">AND<\/span>\u00a0<span style=\"color:maroon;\">c<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">object_id<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:maroon;\">sc<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">object_id<\/span><br \/>\n<span style=\"color:blue;\">AND<\/span>\u00a0<span style=\"color:maroon;\">c<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">column_id<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:maroon;\">sc<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">column_id<\/span><br \/>\n<span style=\"color:blue;\">WHERE<\/span>\u00a0\u00a0<span style=\"color:#ff0080;\"><b>objectproperty<\/b><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:maroon;\">s<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">object_id<\/span><span style=\"color:silver;\">,<\/span>\u00a0<span style=\"color:red;\">&#8216;IsUserTable&#8217;<\/span><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;\">SELECT<\/span>\u00a0<span style=\"color:#ff0080;\"><b>row_number<\/b><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:maroon;\">)<\/span><br \/>\n<span style=\"color:blue;\">OVER<\/span><span style=\"color:maroon;\">(<\/span><br \/>\n<span style=\"color:maroon;\">partition<\/span>\u00a0<span style=\"color:blue;\">BY<\/span>\u00a0<span style=\"color:maroon;\">s1<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">object_id<\/span><span style=\"color:silver;\">,<\/span>\u00a0<span style=\"color:maroon;\">s1<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">column_name<\/span><br \/>\n<span style=\"color:blue;\">ORDER<\/span>\u00a0<span style=\"color:blue;\">BY<\/span>\u00a0<span style=\"color:maroon;\">s1<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">column_name<\/span><span style=\"color:maroon;\">)<\/span>\u00a0<span style=\"color:blue;\">AS<\/span>\u00a0<span style=\"color:maroon;\">stats_no<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:fuchsia;\"><i>Object_name<\/i><\/span><span style=\"color:maroon;\">(<\/span><span style=\"color:maroon;\">s1<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">object_id<\/span><span style=\"color:maroon;\">)<\/span>\u00a0\u00a0\u00a0\u00a0<span style=\"color:blue;\">AS<\/span>\u00a0<span style=\"color:maroon;\">table_name<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">s1<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">stats_name<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:blue;\">AS<\/span>\u00a0<span style=\"color:maroon;\">stats_name<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">s2<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">stats_name<\/span>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color:blue;\">AS<\/span>\u00a0<span style=\"color:maroon;\">identical_stats_name<\/span><span style=\"color:silver;\">,<\/span><br \/>\n<span style=\"color:maroon;\">s2<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">column_name<\/span><br \/>\n<span style=\"color:blue;\">FROM<\/span>\u00a0\u00a0\u00a0<span style=\"color:maroon;\">all_stats<\/span>\u00a0<span style=\"color:blue;\">AS<\/span>\u00a0<span style=\"color:maroon;\">s1<\/span><br \/>\n<span style=\"color:blue;\">INNER<\/span>\u00a0<span style=\"color:blue;\">JOIN<\/span>\u00a0<span style=\"color:maroon;\">all_stats<\/span>\u00a0<span style=\"color:blue;\">AS<\/span>\u00a0<span style=\"color:maroon;\">s2<\/span><br \/>\n<span style=\"color:blue;\">ON<\/span>\u00a0<span style=\"color:maroon;\">s1<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">object_id<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:maroon;\">s2<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">object_id<\/span><br \/>\n<span style=\"color:blue;\">AND<\/span>\u00a0<span style=\"color:maroon;\">s1<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">stats_id<\/span>\u00a0<span style=\"color:silver;\">!=<\/span>\u00a0<span style=\"color:maroon;\">s2<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">stats_id<\/span><br \/>\n<span style=\"color:blue;\">AND<\/span>\u00a0<span style=\"color:maroon;\">s1<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">stats_column_id<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:maroon;\">s2<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">stats_column_id<\/span><br \/>\n<span style=\"color:blue;\">AND<\/span>\u00a0<span style=\"color:maroon;\">s1<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">column_id<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:maroon;\">s2<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">column_id<\/span><br \/>\n<span style=\"color:blue;\">AND<\/span>\u00a0<span style=\"color:maroon;\">s1<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">has_filter<\/span>\u00a0<span style=\"color:silver;\">=<\/span>\u00a0<span style=\"color:maroon;\">s2<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">has_filter<\/span><br \/>\n<span style=\"color:blue;\">AND<\/span>\u00a0<span style=\"color:maroon;\">s1<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">auto_created<\/span>\u00a0<span style=\"color:silver;\">!=<\/span>\u00a0<span style=\"color:maroon;\">s2<\/span><span style=\"color:silver;\">.<\/span><span style=\"color:maroon;\">auto_created<\/span><\/p><\/blockquote>\n","protected":false},"excerpt":{"rendered":"<p>Problem Statement: Script to find\u00a0the duplicate stats. Solution:\u00a0SQL server allows to create duplicate statistics but having duplicate statistics are overkill[&#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,29],"tags":[75,76],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/pramodsingla.com\/index.php?rest_route=\/wp\/v2\/posts\/1063"}],"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=1063"}],"version-history":[{"count":0,"href":"https:\/\/pramodsingla.com\/index.php?rest_route=\/wp\/v2\/posts\/1063\/revisions"}],"wp:attachment":[{"href":"https:\/\/pramodsingla.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1063"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pramodsingla.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1063"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pramodsingla.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1063"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}