Recently on Twitter I saw a question about what index maintenance you should be doing on your ColumnStore Indexes when it comes to maintenance. As I looked through DCAC’s blog posts I realized that none of us had blogged about this topic before.
The reason for this is pretty basic, there’s really nothing to do when it comes to maintenance on a ColumnStore index.
Normally we do maintenance on indexes to reduce fragmentation, but there’s no fragmentation on ColumnStore indexes as the data isn’t stored on the table in a sort order. Data pages that aren’t needed anymore are removed automatically (the same with dictionary pages). The other big thing that index maintenance does, it update statistics on indexes. Well, there are no statistics on ColumnStore indexes, so there are no statistics to maintain. Why aren’t their statistics? Because every operation is a scan of a ColumnStore index. Since everything is a scan, there’s no need for statistics.