Click here to monitor SSC
SQLServerCentral is supported by Redgate
 
Log in  ::  Register  ::  Not logged in
 
 
 
Stairway to Columnstore Indexes
Tags

SQL Server 2012 and later offer a very different type of index from the traditional b-tree, the in-memory columnstore index. These indexes use a column-based storage model, as well as a new 'batch mode' of query execution and can offer huge performance increases for certain workloads. But how are they built, how do they work, and why do they manage to have such a dramatic impact on performance? In this stairway, Hugo Kornelis explains all, with his usual mix of concise description and detailed demonstration.

Stairway to Columnstore Indexes Level 1: A First Look At Columnstore Indexes

This level introduces of you to the fundamentals of columnstore indexes, introdused in SQL Server 2012 to manage the indexing of very large tables.  Read more...
By Hugo Kornelis 2016/05/30 (first published: 2015/02/25) | Source: SQLServerCentral.com | Category: stairway series
Rating: |  Discuss |   Briefcase | 12,767 reads

Stairway to Columnstore Indexes Level 2: Columnstore Storage

To fully appreciate just how different columnstore indexes are, and why work so well in reporting and online analytical processing (OLAP) workloads, but not for online transaction processing (OLTP), we must first look at the traditional “rowstore” indexes.  Read more...
By Hugo Kornelis 2015/04/29 | Source: SQLServerCentral.com | Category: stairway series
Rating: |  Discuss |   Briefcase | 6,158 reads

Stairway to Columnstore Indexes Level 3: Building The Columnstore

The performance increase columnstore indexes grant when reading data from the index is offset by the expensive process required to build the index. In this Stairway level, Hugo Kornelis walks you through the steps SQL Server takes when building (or rebuilding) a columnstore index.  Read more...
By Hugo Kornelis 2015/06/10 | Source: SQLServerCentral.com | Category: stairway series
Rating: |  Discuss |   Briefcase | 4,248 reads

Stairway to Columnstore Indexes Level 4: Catalog Views

In this level, we will first take a look at how to recognize columnstore indexes in some of the generic catalog views. After that we will investigate the new catalog views that have been added just for columnstore indexes.  Read more...
By Hugo Kornelis 2015/08/05 | Source: SQLServerCentral.com | Category: stairway series
Rating: |  Discuss |   Briefcase | 3,102 reads

Stairway to Columnstore Indexes Level 5: Adding New Data To Columnstore Indexes

Earlier levels have shown how Columnstore Indexes work effectively with static data. In most tables however, data is hardly ever static. We are constantly inserting new rows, and updating or deleting existing rows. If you think about what this means for a columnstore index, you will realize that this comes with some unique challenges.  Read more...
By Hugo Kornelis 2015/11/04 | Source: SQLServerCentral.com | Category: stairway series
Rating: |  Discuss |   Briefcase | 3,058 reads

Stairway to Columnstore Indexes Level 6: Updating and Deleting Data in a Columnstore Index

This level looks in detail at what happens when we update or delete data from a clustered columnstore index, the impact it has on concurrent data access, and how without careful maintenance the efficiency of columnstore indexes can degrade over time.  Read more...
By Hugo Kornelis 2016/01/20 | Source: SQLServerCentral.com | Category: stairway series
Rating: |  Discuss |   Briefcase | 2,712 reads

Stairway to ColumnStore Indexes Level 7: Optimizing Nonclustered Columnstore Indexes

In this level, we will focus on optimization techniques to apply while building the nonclustered columnstore index, which is available in all versions of SQL Server from 2012 up.  Read more...
By Hugo Kornelis 2016/03/16 | Source: SQLServerCentral.com | Category: stairway series
Rating: |  Discuss |   Briefcase | 1,858 reads

Stairway to Columnstore Indexes Level 9: Batch Mode Execution

In this level, Hugo explains what batch mode execution is, how it differs from row mode execution, and what its limitations are.  Read more...
By Hugo Kornelis 2016/08/31 | Source: SQLServerCentral.com | Category: stairway series
Rating: |  Discuss |   Briefcase | 1,054 reads

Stairway to Columnstore Indexes Level 10: Optimizing Queries For Batch Mode (Part 1)

In this level, Hugo Kornelis looks at how to rewrite your queries to best take advantage of batch mode.  Read more...
By Hugo Kornelis 2016/11/23 | Source: SQLServerCentral.com | Category: stairway series
Rating: |  Discuss |   Briefcase | 1,112 reads

Stairway to Columnstore Indexes Level 11: Optimizing Queries For Batch Mode (Part 2)

Hugo Kornelis continues his exploration of the types of queries that can end up running in row mode when accessing columnstore indexes. He demonstrates how careful rewriting can often yield a logically equivalent query that runs in batch mode instead, and therefore gains the best possible performance benefit.  Read more...
By Hugo Kornelis 2017/01/04 | Source: SQLServerCentral.com | Category: stairway series
Rating: |  Discuss |   Briefcase | 689 reads
Sign up to our RSS feed and get notified as soon as we publish a new level in the Stairway! Rss