Most analytic queries aggregate large amounts of data and are served well by scanning the column store segments directly. However, there is often a need to look for a "needle in a haystack," which translates to a query that does a lookup of a single row or a small range of rows. Such lookup queries can get an improvement in response time in orders of magnitude (even 1,000 times) and potentially run in sub-second if there is a B-Tree index on the filter column.

To create a secondary index on a column store table, follow the same syntax as the generic Create Index Transact-SQL statements.