• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Choosing Your Clustered Index
 

Choosing Your Clustered Index

on

  • 618 views

We often hear that you should always have clustered indexes on your tables. What's left off of this discussion is the how to choose the columns for this index. Should it be the primary key? Or some ...

We often hear that you should always have clustered indexes on your tables. What's left off of this discussion is the how to choose the columns for this index. Should it be the primary key? Or some other column or set of columns? Having the wrong key column(s) in the clustered index can lead to performance problems, possibly worse than having no clustered index on the table at all. In this session, we'll review common patterns for selecting clustered indexes and how to determine which pattern you need. Also, we'll look at how to analyze tables to help select the best clustered index for every table.

http://www.jasonstrate.com/go/20131010-IX/

Statistics

Views

Total Views
618
Views on SlideShare
393
Embed Views
225

Actions

Likes
0
Downloads
8
Comments
0

9 Embeds 225

http://www.jasonstrate.com 137
http://cloud.feedly.com 35
http://www.feedspot.com 14
http://www.sqlservercentral.com 12
http://feedreader.com 10
http://www.newsblur.com 5
http://digg.com 4
http://feeds.feedburner.com 4
http://dbasql01 4
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Choosing Your Clustered Index Choosing Your Clustered Index Presentation Transcript

    • Choosing Your Clustered Index
    • Introduction Jason Strate e: jstrate@pragmaticworks.com e: jasonstrate@gmail.com b: www.jasonstrate.com t: StrateSQL Resources jasonstrate.com/go/indexing MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
    • About Pragmatic Works • • • • • • • 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 MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
    • Navigation
    • Challenge of data…
    • Driving for performance
    • Check you options!
    • Agenda Introduction Clustered Index or Heap Clustered Index Patterns MAKING BUSINESS INTELLIGENT Clustered Index Qualities Summary www.pragmaticworks.com
    • Session Goals • Define basics related to clustered indexes • Explain rules behind selecting clustering key • Demonstrate differences between key column choices MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
    • Introduction Clustered Index or Heap Clustered Index Qualities Clustered Index Patterns Summary CLUSTERED INDEX OR HEAP MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
    • Heap Structure • Pile of data – Unordered – First in, first out – Scan “happy” MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
    • Heap MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
    • Heap MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
    • Clustered Index • Mechanism for storing data – Ordered – Structured – Accessible – Direct path MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
    • Clustered Index MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
    • Clustered Index MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
    • Clustered Index or Heap DEMO MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
    • Pro Tip: Default to Clustered Indexes, unless heaps are proven to improve performance
    • Introduction Clustered Index or Heap Clustered Index Qualities Clustered Index Patterns Summary CLUSTERED INDEX QUALITIES MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
    • Clustered Index Qualities Static Unique MAKING BUSINESS INTELLIGENT Narrow Everincreasing www.pragmaticworks.com
    • Clustered Index Qualities Static Unique MAKING BUSINESS INTELLIGENT Narrow Everincreasing www.pragmaticworks.com
    • Clustered Index Qualities Static Unique MAKING BUSINESS INTELLIGENT Narrow Everincreasing www.pragmaticworks.com
    • Narrow 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 MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
    • Clustered Index Qualities Static Unique MAKING BUSINESS INTELLIGENT Narrow Everincreasing www.pragmaticworks.com
    • Unique • Uniqueifier 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
    • Clustered Index Qualities Static Unique MAKING BUSINESS INTELLIGENT Narrow Everincreasing www.pragmaticworks.com
    • Ever-Increasing 1 2 MAKING BUSINESS INTELLIGENT 3 4 5 6 www.pragmaticworks.com
    • Ever-Increasing 1 3 MAKING BUSINESS INTELLIGENT 5 6 2 4 www.pragmaticworks.com
    • Ever-Increasing 1 2 MAKING BUSINESS INTELLIGENT 3 4 5 6 www.pragmaticworks.com
    • These are not unbreakable rules!
    • Introduction Clustered Index or Heap Clustered Index Qualities Clustered Index Patterns Summary CLUSTERED INDEX PATTERNS MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
    • Clustered Index Patterns Identity Column MAKING BUSINESS INTELLIGENT Surrogate Key Foreign Key MultiColumn Globally Unique Identifier www.pragmaticworks.com
    • Identity Column • Non-related value that defines each row uniquely • Assigned when data is inserted • Typically uses: – Int or bigint – IDENTITY or SEQUENCE MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
    • Identity Column Static Narrow Unique Ever-increasing MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
    • Identity Column DEMO MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
    • 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
    • Surrogate Key Static Narrow Unique Ever-increasing MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
    • Surrogate Key DEMO MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
    • 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
    • Foreign Key Static Narrow Unique Ever-increasing MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
    • Foreign Key DEMO MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
    • 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
    • Multi-Column Static Narrow Unique Ever-increasing MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
    • Multi-Column DEMO MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
    • Globally Unique Identifier • Non-related value that defines each row uniquely • Assigned when data is inserted – Or from the application • Typically uses: – uniqueidentifier – NEWID() or NEWSEQUENTIALID() MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
    • Globally Unique Identifier Static Narrow Unique Ever-increasing MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
    • Globally Unique Identifier DEMO MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
    • Pro Tip: Clustered indexes should be Static, Narrow, Unique, and Everincreasing
    • Introduction Clustered Index or Heap Clustered Index Qualities Clustered Index Patterns Summary SUMMARY MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
    • Summary • Clustered indexes are important • Select clustering keys based on need • Validate clustered indexes over time MAKING BUSINESS INTELLIGENT www.pragmaticworks.com
    • 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
    • For more information… Name: Jason Strate Email: jstrate@pragmaticworks.com Blog: www.jasonstrate.com Resource: jasonstrate.com/go/indexing Products BI products to covert to a Microsoft BI platform and simplify development on the platform. Services Speed development through training, and rapid development services from Pragmatic Works. Foundation Helping those who do not have the means to get into information technology achieve their dreams.