Snowpro Advanced Architect · Free Practice Question Hard

Question 31

A data architect notices that a critical daily report query, which filters by a TRANSACTION_DATE column, has become increasingly slow. Upon checking SYSTEM$CLUSTERING_INFORMATION for the underlying fact table, they observe a high CLUSTERING_DEPTH value for the TRANSACTION_DATE column. What is the most appropriate action to investigate and resolve this performance degradation?
  • A Create a Materialized View on the reporting table.
  • B Immediately increase the size of the virtual warehouse executing the report.
  • C Recommend using the APPROX_COUNT_DISTINCT function to reduce processing time.
  • D Define TRANSACTION_DATE as a clustering key and enable AUTO_CLUSTERING if not already done, then monitor its effectiveness.
  • E Disable the Query Acceleration Service for the warehouse.
Reveal correct answer

Correct answer: D

Explanation

✅ Define TRANSACTION_DATE as a clustering key and enable AUTO_CLUSTERING if not already done, then monitor its effectiveness.

Explanation:

A high CLUSTERING_DEPTH value indicates that the table's natural clustering has deteriorated, leading to inefficient query performance. By defining TRANSACTION_DATE as a clustering key and enabling AUTO_CLUSTERING, Snowflake will automatically reorganize the data to optimize partition elimination, improving query efficiency.

❌ Why the other options are incorrect?

  • Immediately increase the size of the virtual warehouse executing the report. → Incorrect, because increasing warehouse size only improves compute power but does not resolve poor clustering, meaning queries will still be inefficient.

  • Create a Materialized View on the reporting table. → Incorrect, as materialized views optimize specific aggregations but do not address clustering inefficiencies in the base table.

  • Disable the Query Acceleration Service for the warehouse. → Incorrect, because this service enhances query speed in certain conditions; disabling it does not resolve clustering depth issues.

  • Recommend using the APPROX_COUNT_DISTINCT function to reduce processing time. → Incorrect, as this function only helps with specific aggregation queries and does not improve overall query efficiency related to clustering.

For more details on clustering keys and AUTO_CLUSTERING, you can check this resource.

Discussion

Think the marked answer is wrong, or have a better explanation? Share it below — comments appear after review.

You must be logged in to post a comment.

Preparing For

Your Certification?

255+ certifications
Detailed explanations
Free PDF samples

Has All The Questions You Need