{"id":312,"date":"2015-12-07T14:49:32","date_gmt":"2015-12-07T13:49:32","guid":{"rendered":"http:\/\/sqlkover.com\/?p=312"},"modified":"2015-12-07T14:49:32","modified_gmt":"2015-12-07T13:49:32","slug":"sp_blitzindex_rocks","status":"publish","type":"post","link":"https:\/\/sqlkover.com\/sp_blitzindex_rocks\/","title":{"rendered":"Performance Tuning with sp_BlitzIndex"},"content":{"rendered":"<body><p><\/p>\n<p style=\"text-align: justify;\">Just a small blog post about how I used sp_BlitzIndex for the first and how awesome that was.\u00a0sp_BlitzIndex is one of the many <a href=\"http:\/\/www.brentozar.com\/first-aid\/sql-server-downloads\/\">free scripts<\/a> you can get from the great team at <a href=\"http:\/\/www.brentozar.com\/\">Brent Ozar Unlimited<\/a>.<\/p>\n<p style=\"text-align: justify;\">Recently I went to a client for a one day data warehouse performance tuning exercise. Because you only have one day, it\u2019s important to quickly find the pain-points of the system. I remembered seeing a webinar somewhere of Brent explaining the sp_Blitz script, so I decided to bring those scripts with me. I couldn\u2019t have made a better choice.<\/p>\n<p style=\"text-align: justify;\">There was a serious indexing problem at the client. They had heard \u201cindexes make reads go faster\u201d, so they slapped a lot of indexes on most of the tables. None of them clustered.\u00a0I ran the script with its default settings and I quickly got a list of all the problems it could find with the indexes on the data warehouse.<\/p>\n<p style=\"text-align: justify;\">It gave me an overview the following items, all of them were immediately actionable:<\/p>\n<ul>\n<li style=\"text-align: justify;\">duplicate indexes. Remove the offenders immediately.<\/li>\n<li style=\"text-align: justify;\">near-duplicate indexes. Check if for example an index has columns (A,B,C) and another index (A,B). Delete the last one.<\/li>\n<li style=\"text-align: justify;\"><a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/hh213609.aspx\">Heaps<\/a>. Quite a long list, but the script also has a section on which tables are accessed the most. This allowed us to focus on the more important heaps in the data warehouse.<\/li>\n<li style=\"text-align: justify;\">the so-called work-a-holics: indexes which were used a lot. I focused on making these indexes more efficient: could I make a filtered index out of it? Or maybe add some included columns?<\/li>\n<\/ul>\n<p>Other topics were listed as well, but these were the main ones I focused on.<\/p>\n<p>What\u2019s great is that this script also provides you with the URLs to knowledge articles on the Brent Ozar website. If you don\u2019t understand one of the results, you can immediately look it up and read about it.<\/p>\n<p>By focusing on the results of sp_BlitzIndex script, I could boost performance in just a few hours of work. This near real-time data warehouse is the source for\u00a0a reporting application used by dozens of people in the field, and you could immediately tell it worked a lot faster. Awesomesauce.<\/p>\n<p><a href=\"http:\/\/sqlkover.com\/wp-content\/uploads\/2015\/12\/sp_blitzindex.jpg\"><img decoding=\"async\" class=\"alignnone wp-image-314 size-medium\" src=\"http:\/\/sqlkover.com\/wp-content\/uploads\/2015\/12\/sp_blitzindex-239x300.jpg\" alt=\"sp_blitzindex\" width=\"239\" height=\"300\" loading=\"lazy\" srcset=\"https:\/\/sqlkover.com\/wp-content\/uploads\/2015\/12\/sp_blitzindex-239x300.jpg 239w, https:\/\/sqlkover.com\/wp-content\/uploads\/2015\/12\/sp_blitzindex.jpg 500w\" sizes=\"auto, (max-width: 239px) 100vw, 239px\" \/><\/a><\/p>\n<p><em>Disclaimer: I was honestly really impressed with the results.\u00a0I did not get paid by Brent for this blog post. \ud83d\ude42<\/em><\/p>\n<\/body>","protected":false},"excerpt":{"rendered":"<p>Just a small blog post about how I used sp_BlitzIndex for the first and how awesome that was.\u00a0sp_BlitzIndex is one of the many free scripts you can get from the great team at Brent Ozar Unlimited. Recently I went to a client for a one day data warehouse performance tuning exercise. Because you only have [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[4],"tags":[94,93,19,16],"class_list":["post-312","post","type-post","status-publish","format-standard","hentry","category-sqlserver","tag-performance","tag-sp_blitzindex","tag-sql-server","tag-syndicated"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/sqlkover.com\/wp-json\/wp\/v2\/posts\/312","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sqlkover.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sqlkover.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sqlkover.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sqlkover.com\/wp-json\/wp\/v2\/comments?post=312"}],"version-history":[{"count":1,"href":"https:\/\/sqlkover.com\/wp-json\/wp\/v2\/posts\/312\/revisions"}],"predecessor-version":[{"id":315,"href":"https:\/\/sqlkover.com\/wp-json\/wp\/v2\/posts\/312\/revisions\/315"}],"wp:attachment":[{"href":"https:\/\/sqlkover.com\/wp-json\/wp\/v2\/media?parent=312"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sqlkover.com\/wp-json\/wp\/v2\/categories?post=312"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sqlkover.com\/wp-json\/wp\/v2\/tags?post=312"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}