COF-C03 Practice Question: Performance Optimization, Querying, and Transformation
A data engineer is analyzing a slow query and notices that the Query Profile shows a high percentage of time spent in 'TableScan' with many partitions scanned but few rows returned. Which action is most likely to improve performance?
⚠ Common exam trap
The trap here is thinking that more compute resources (larger warehouse or more clusters) will solve a data scanning inefficiency, when the real fix is improving partition 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
✓
Add a clustering key on the columns used in the filter predicates.
The Query Profile indicates excessive partitions scanned, which is a sign of poor partition pruning. Clustering the table on the filter columns can co-locate similar values, allowing the optimizer to skip more partitions. Increasing warehouse size or clusters does not reduce the amount of data read, and enabling Search Optimization on all columns is not a focused fix.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Enable the Search Optimization Service on all columns.
Why it's wrong here
Enabling Search Optimization Service on all columns is not a targeted solution and can incur unnecessary overhead. It is most effective for selective equality and IN predicates on specific columns. Without knowing the predicates, this broad approach is unlikely to be the best first step.
- ✗
Use a larger warehouse with more clusters.
Why it's wrong here
Adding clusters increases concurrency for multiple queries, but for a single slow query, it does not reduce the amount of data scanned. The issue is partition pruning, not concurrency, so multi-cluster warehouses would not address the underlying problem.
- ✓
Add a clustering key on the columns used in the filter predicates.
Why this is correct
Clustering reorganizes the micro-partitions so that data with similar values is stored together. This improves partition pruning, reducing the number of partitions scanned for filter predicates. In this scenario, the high number of partitions scanned indicates poor pruning, which clustering can directly address.
- ✗
Increase the size of the virtual warehouse.
Why it's wrong here
Increasing warehouse size adds more compute resources, but if the query is scanning many partitions unnecessarily, the bottleneck is I/O and pruning, not compute. A larger warehouse may reduce elapsed time slightly but will not address the root cause of scanning too much data.
About these practice questions
One of 280 original COF-C03 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
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 COF-C03 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 COF-C03 exam.