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.
2019-03-26 (first published: 2017-01-04)
2,236 reads
In this level, Hugo Kornelis looks at how to rewrite your queries to best take advantage of batch mode.
2019-03-26 (first published: 2016-11-23)
3,309 reads
In this level, Hugo explains what batch mode execution is, how it differs from row mode execution, and what its limitations are.
2019-03-26 (first published: 2016-08-31)
3,265 reads
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.
2019-03-26 (first published: 2016-03-16)
4,147 reads
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.
2019-03-26 (first published: 2016-01-20)
5,965 reads
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.
2019-03-26 (first published: 2015-11-04)
6,302 reads
A tale in which is detailed how I used SWITCH PARTITION to efficiently load my data and save myself from the flaming jaws of death.
2017-10-20 (first published: 2015-11-02)
4,253 reads