Introduction to Clustered Indexes and Heaps

971 views
880 views

Published on

It's the age old question, do I put a clustered index on the table or leave it as a heap? While a simple question, this can have serious impacts on the performance of the table in queries. In this session, we'll review the basics of both clustered indexes and heaps; identifying key differences and cases where you might choose one over another.

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
971
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
41
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Introduction to Clustered Indexes and Heaps

  1. 1. Introduction to Clustered Indexes and Heaps
  2. 2. Jason Strate e: jstrate@pragmaticworks.com e: jasonstrate@gmail.com b: www.jasonstrate.com t: StrateSQL Resources jasonstrate.com/go/indexing Introduction MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  3. 3. MAKING BUSINESS INTELLIGENT www.pragmaticworks.com • Industry leaders in Microsoft BI and SQL Server Platform • SQL Server Professionals - PASS Board of Directors, Speakers, Authors and MVP’s • National Sales Team Divided by Microsoft Territories • National System Integrator (NSI) • Gold Certified in Business Intelligence and Data Platform • Platform Modernization/Safe Passage • Premier Partner for PDW SI Partner Program MS PDW Partner of Year FY13 Frontline Partnership Partner of the Year for Big Data Executive sponsor - Andy Mouacdie, WW sales director PDW • Over 7,200 customers worldwide • Over 186,000 people in PW database for demand generation About Pragmatic Works
  4. 4. Your Data Is Treasure
  5. 5. Store that treasure
  6. 6. Navigate to your data
  7. 7. Heaps Clustered
  8. 8. Agenda Introduction The Heap Clustered Index Index Patterns Summary MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  9. 9. Session Goals • Define differences between heaps and clustered indexes • Explain design considerations • Demonstrate differences between key column choices MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  10. 10. THE HEAP Introduction The Heap Clustered Index Index Patterns Summary MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  11. 11. Heap Structure • Pile of data – Unordered – First in, first out – Scan “happy” • Table Scan Access • Forwarded Records MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  12. 12. Heap MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  13. 13. Heap MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  14. 14. THE HEAP Demo MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  15. 15. CLUSTERED INDEX Introduction The Heap Clustered Index Index Patterns Summary MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  16. 16. Clustered Index • Mechanism for storing data – Logically ordered – Structured – Accessible – Direct path MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  17. 17. Clustered Index MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  18. 18. Clustered Index MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  19. 19. Clustered Index MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  20. 20. Clustered Index Qualities Static Narrow Unique Ever- increasing MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  21. 21. Clustered Index Qualities Static Narrow Unique Ever- increasing MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  22. 22. Static Non-static key columns can reshuffle the rows in the clustered index.
  23. 23. Clustered Index Qualities Static Narrow Unique Ever- increasing MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  24. 24. Narrow MAKING BUSINESS INTELLIGENT www.pragmaticworks.com Key columns from clustered indexes are included in all non-clustered indexes. Size Rows 4 8 16 32 64 10,000 0.04 0.08 0.15 0.31 0.61 100,000 0.38 0.76 1.53 3.05 6.10 1,000,000 3.81 7.63 15.26 30.52 61.04 10,000,000 38.15 76.29 152.59 305.18 610.35 100,000,000 381.47 762.94 1,525.88 3,051.76 6,103.52 1,000,000,000 3,814.70 7,629.39 15,258.79 30,517.58 61,035.16
  25. 25. Clustered Index Qualities Static Narrow Unique Ever- increasing MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  26. 26. Unique Uniqueifier: Adds a 4-byte integer to rows non- unique clustered indexes to create unique rows. Size Rows 4 8 16 32 64 10,000 0.08 0.11 0.19 0.34 0.65 100,000 0.76 1.14 1.91 3.43 6.48 1,000,000 7.63 11.44 19.07 34.33 64.85 10,000,000 76.29 114.44 190.73 343.32 648.50 100,000,000 762.94 1,144.41 1,907.35 3,433.23 6,484.99 1,000,000,000 7,629.39 11,444.09 19,073.49 34,332.28 64,849.85 MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  27. 27. Clustered Index Qualities Static Narrow Unique Ever- increasing MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  28. 28. Ever-increasing Ever-increasing values allows new values to be added to the end of the index structure without reorganizing rows. 100 200 300 MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  29. 29. 100 200 300 600 Ever-increasing Ever-increasing values allows new values to be added to the end of the index structure without reorganizing rows. MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  30. 30. 100 200 300 400 600 Ever-increasing Ever-increasing values allows new values to be added to the end of the index structure without reorganizing rows. MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  31. 31. 100 200 300 400 500 600 Ever-increasing Ever-increasing values allows new values to be added to the end of the index structure without reorganizing rows. MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  32. 32. CLUSTERED INDEX Demo MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  33. 33. Pro Tip: Default to Clustered Indexes, unless heaps are proven to improve performance
  34. 34. INDEX PATTERNS Introduction The Heap Clustered Index Index Patterns Summary MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  35. 35. Heap Patterns MAKING BUSINESS INTELLIGENT www.pragmaticworks.com • Staging tables • Low use data • Temporary tables • Heavy scan data
  36. 36. Clustered Index Patterns Identity Column Surrogate Key Foreign Key Multi- Column MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  37. 37. Identity Column • Non-related value that defines each row uniquely • Assigned when data is inserted • Typically uses: – Int or bigint – IDENTITY or SEQUENCE – Uniqueidentifier MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  38. 38. Identity Column Static Narrow Unique Ever-increasing MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  39. 39. Surrogate Key • Unique value is a part of the row • Assigned in the source data • Data type dependent on the data • Value should be unchanging – Employee ID – Social Security Number – Birthdate MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  40. 40. Surrogate Key Static Narrow Unique Ever-increasing MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  41. 41. Foreign Key • One-to-many relationships • Access path in child via parent • Piggy-backs identity pattern – Parent left of child identity value • Common in many applications – Order header to details – Hotels to rooms MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  42. 42. Foreign Key Static Narrow Unique Ever-increasing MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  43. 43. Multi-Column • Similar to foreign key pattern • Many-to-many relationships • Highly dependent on selectivity • NOT a collection of dimension keys MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  44. 44. Multi-Column Static Narrow Unique Ever-increasing MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  45. 45. INDEX PATTERNS Demo MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  46. 46. SUMMARY Introduction The Heap Clustered Index Index Patterns Summary MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  47. 47. These are not unbreakable rules!
  48. 48. Summary • Clustered indexes are important • Select clustering keys based on need • Validate clustered indexes over time MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  49. 49. More Information Expert Performance Indexing For SQL Server 2012 Jason Strate Ted Krueger Overview Statistics Maintenance Tools Analysis http://amzn.com/1430237414 MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
  50. 50. Services Speed development through training, and rapid development services from Pragmatic Works. Products BI products to covert to a Microsoft BI platform and simplify development on the platform. Foundation Helping those who do not have the means to get into information technology achieve their dreams. For more information… Name: Jason Strate Email: jstrate@pragmaticworks.com Blog: www.jasonstrate.com Resource: jasonstrate.com/go/indexing Need Help? jasonstrate.com/go/vmdba

×