Hugo Kornelis

Stairway to Columnstore Indexes

Stairway to ColumnStore Indexes Level 8: Optimizing Clustered Columnstore Indexes

In Level 7, we looked at optimizing rowgroup elimination for a nonclustered columnstore index. For a clustered columnstore index, the same technique can be used but the steps and syntax change a bit. This will be covered later – but first, let’s take a look at another significant difference between nonclustered and clustered columnstore indexes, […]

2019-01-23 (first published: )

1,813 reads

Stairway to Columnstore Indexes

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.

2018-12-19 (first published: )

4,450 reads

Stairway to Columnstore Indexes

Stairway to Columnstore Indexes Level 13: Improvements in SQL Server 2016

This stairway series was started in 2015. As such, the focus was on SQL Server 2012 and SQL Server 2014 only. When SQL Server 2016 was released, with lots of improvements in the columnstore technology, I decided to finish the planned levels with the original focus on SQL Server 2012 and 2014, and add one extra level with a brief overview of the improvements available in SQL Server 2016.

2018-11-07 (first published: )

1,995 reads

Stairway to Columnstore Indexes

Stairway to Columnstore Indexes Level 12: Clustered or Nonclustered?

The previous levels of this stairway describe details, features, and limitations of columnstore indexes in SQL Server. But they do not answer what should be the first question for every database professional: should columnstore indexes be used in my databases; on what tables should they be used; and should they be clustered or nonclustered columnstore indexes?

2018-10-03 (first published: )

1,659 reads

Stairway to Columnstore Indexes

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.

2018-09-05 (first published: )

1,452 reads

Stairway to Columnstore Indexes

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.

2018-05-23 (first published: )

3,744 reads

Blogs

Containers: Create a Custom Container

By

Creating a custom container is where things get truly exciting. There’s actually a ton...

Mini-Rant: Spoofed Phone Numbers and Trust

By

I’ve seen this more and more over the last year: I receive a phone...

Speaking at SQL Saturday Dallas

By

Speaking at SQLSaturday Dallas! I’m proud to announce that I will be speaking at SQL...

Read the latest Blogs

Forums

The Change Failure Rate

By Steve Jones - SSC Editor

Comments posted to this topic are about the item The Change Failure Rate

Reporting Server

By Admingod

I have reporting server which gets replicated from other OLTP server.However, the reporting server...

FlushCache Error Message

By bobba

While analyzing an issue, I stumbled on to a "FlushCache" error message (error log). ...

Visit the forum

Ask SSC

SQL Server Q&A from the SQLServerCentral community

Get answers