Data warehouse
Columnstore indexes, in conjunction with partitioning, are e
Analytics Platform System (PDW)
Columnstore indexes, in conjunction with partitioning, are essential for building a SQL Server
data warehouse. This article focuses on key use cases and examples for data warehousing
designs with the SQL Database Engine.
2016 (13.x) introduced these features for columnstore performance enhancements:
Always On availability groups support querying a columnstore index on a readable
secondary replica.
Multiple Active Result Sets (MARS) supports columnstore indexes.
A new dynamic management view
sys.dm_db_column_store_row_group_physical_stats
(Transact-SQL)
provides performance troubleshooting information at the row group level.
All queries on columnstore indexes can run in batch mode. Previously, only parallel
queries could run in batch mode.
The
,
, and
operators run in batch mode.
Window aggregates now runs in batch mode for database compatibility level 130 and
higher.
Aggregate pushdown for efficient processing of aggregates. This is supported on all
database compatibility levels.
String predicate pushdown for efficient processing of string predicates. This is supported
on all database compatibility levels.
Snapshot isolation for database compatibility level 130 and higher.
Ordered clustered columnstore indexes were introduced with SQL Server 2022 (16.x). For
more information, see
CREATE COLUMNSTORE INDEX
and
Performance tuning with
ordered columnstore indexes. For ordered columnstore index availability, see
Ordered
column index availability.
For more information about new features in versions and platforms of SQL Server and Azure
SQL, see
What’s new in columnstore indexes.
Starting with SQL Server 2016 (13.x), you can create rowstore nonclustered indexes on a
clustered columnstore index.