COF-C03 · Snowflake
Snowflake now has secondary indexes. Will they show up on COF-C03?
Snowflake has a new way to speed up selective lookups. Here is what secondary indexes are, how they compare with the tools you study for COF-C03, and whether they belong in your notes.
Snowflake made secondary indexes generally available on October 26, 2026. They are not in the COF-C03 study guide today. The performance tools the guide lists are still the search optimization service, clustering keys and the query acceleration service, so that is where your study time goes. Knowing what the new feature does still helps, because it sits right next to those topics.
What are Snowflake secondary indexes?
A secondary index is a separate structure built on one or more columns, or on expressions, of a standard table. It maps values to the micro-partitions that hold them, so Snowflake can skip the data it does not need. Snowflake's docs describe the target clearly: highly selective point lookups and range queries.
They work with equality, inequality, range and IN-list predicates. If the index also carries every column the query needs, Snowflake can answer from the index itself (a covering index). Otherwise the index is used to prune micro-partitions before the table is read. The optimizer uses at most one index per table scan.
The basic syntax looks like this:
CREATE INDEX my_index ON table_a (col1, col2) INCLUDE (col3, col4);
The INCLUDE columns are what make an index covering. Each one you add also adds maintenance cost.
Where they apply, and where they do not
- Standard tables only. Iceberg tables, views and materialized views are out.
- Different from hybrid table indexes. Hybrid tables already had their own indexes. These are a separate feature, so do not mix them up in your notes.
- Billed with search optimization. Snowflake maintains the index automatically, and that work is charged as part of the search optimization service.
- Some limits for now. Secondary indexes are not replicated yet, are dropped if a referenced column is dropped, renamed or changes type, are not used with Time Travel, and cannot be combined with row access, masking, aggregation or privacy policies.
Secondary indexes vs search optimization and clustering
This is the part worth keeping for the exam, because the three ideas answer the same question: how does Snowflake avoid scanning data it does not need?
- Clustering keys reorganize the table itself so related rows land in fewer micro-partitions.
- The search optimization service builds a search access path for selective equality, IN and substring style searches. It points Snowflake at the right micro-partitions, and the table is still read.
- Secondary indexes add range and expression support on top of that, and a covering index can return results without reading the table.
For COF-C03, the guide asks you to know micro-partitions, data clustering, clustering keys and the search optimization service, and to recognize inefficient pruning. Secondary indexes build on exactly those ideas, which is why they are easy to understand once the basics are solid.
Should you study them for COF-C03?
Not as an exam topic yet. The study guide has not added them. If Snowflake adds them to the guide, the change will appear on our update calendar.
For now, treat secondary indexes as useful context: one more way Snowflake turns selective queries into fewer micro-partition reads. Learn pruning, clustering and search optimization first, and the new feature will make sense in a single read.
