Courseiva
Performance Optimization →easyMultiple Choice

DEA-C02 Performance Optimization Practice Question

A data engineer is analyzing a query that filters on a column named 'status' which has only 5 distinct values. The table has 10 billion rows. The query is running slowly, and the query profile shows a full table scan. Which action is most likely to improve performance?

⚠ Common exam trap

The trap here is assuming that any filter can benefit from clustering or search optimization, when low-cardinality columns are inherently poor candidates for pruning.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

✓

There is no effective optimization for this query; full scan is expected.

Filtering on a low-cardinality column such as 'status' with only 5 values means the query will likely retrieve a large fraction of the table. Snowflake's pruning relies on micro-partition metadata, but with so few distinct values, each micro-partition will contain multiple statuses, so pruning cannot eliminate many partitions. Clustering or search optimization on such a column is ineffective. Therefore, a full table scan is the expected and necessary operation, and there is no effective optimization for this specific filter.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✗

    Use a materialized view that pre-filters on the 'status' column.

    Why it's wrong here

    A materialized view can precompute results, but if the query filters on 'status' with only 5 values, a materialized view would need to store a large portion of the table for each status, which is inefficient. Materialized views are better for aggregations or joins, not for low-selectivity filters. They also add storage and maintenance costs, and the optimizer may not use them if the query is not a match. This is not a recommended optimization for this scenario.

  • ✗

    Add a search optimization service on the 'status' column.

    Why it's wrong here

    Search optimization service is designed for point lookups on high-cardinality columns, such as finding a specific ID. It is not intended for low-cardinality columns like 'status' where a query returns a large fraction of rows. Using it here would not help because the query likely returns many rows, and the search optimization index would not provide significant pruning. It is also an additional cost and not a general performance fix for low-selectivity filters.

  • ✗

    Create a clustering key on the 'status' column.

    Why it's wrong here

    Clustering on a low-cardinality column like 'status' is generally ineffective because clustering works best on high-cardinality columns that align with common filter predicates. With only 5 distinct values, each micro-partition will contain a mix of statuses, and pruning will not be able to skip many partitions. Clustering on such a column adds maintenance overhead without significantly improving pruning, so it is not the best choice.

  • ✓

    There is no effective optimization for this query; full scan is expected.

    Why this is correct

    When filtering on a low-cardinality column with only 5 distinct values, the query will typically return a large percentage of the table (e.g., 20% per value). Snowflake's micro-partition pruning is ineffective because most partitions contain all statuses. Thus, a full table scan is unavoidable and is the expected behavior. Other optimizations like clustering or search optimization do not help. The engineer should accept that the scan is necessary unless the query can be rewritten to filter on a more selective column.

About these practice questions

This DEA-C02 question is part of Courseiva's 229-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written and reviewed by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

Last reviewed September 2026 · checked against the official Snowflake exam blueprint

This DEA-C02 practice question is part of Courseiva's free Snowflake certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the DEA-C02 exam.