Correct Answer: D
Comprehensive and Detailed Explanation From Exact Extract:
* Why D (Use temporary tables for data that is only needed during a single session) is correct:
According to Snowflake documentation on table types and cost optimization, temporary tables are stored only for the duration of the session in which they are created and are automatically dropped when the session ends.
From the Snowflake documentation:
"Temporary tables persist only for the duration of a user session and do not contribute to long-term storage costs. They are ideal for transient, session-level data processing." Because temporary tables are automatically removed when the session closes, they minimize data storage costs by eliminating unnecessary long-term data retention. They are best suited for short-lived intermediate data such as staging or transformation results in ETL or analytical workflows.
Using temporary (or transient) tables in place of permanent tables helps avoid additional costs from:
* Time Travel retention (which applies only to permanent objects).
* Fail-safe storage (temporary and transient tables do not have fail-safe).
* Persistent storage accumulation from session-level data.
* Why A (Update materialized views that are queried fewer than 10 times per week) is incorrect:
Materialized views incur additional storage costs because they store precomputed results. Updating infrequently used materialized views increases, rather than decreases, storage costs.
* Why B (Add the search optimization service for tables that are rarely used) is incorrect:The Search Optimization Service (SOS) improves query performance but increases storage costs because it maintains additional search access paths. It is recommended only for frequently queried large tables, not for cost minimization.
* Why C (Move large tables that are never queried to cloud storage) is partially logical but not a direct Snowflake-managed practice.While offloading inactive data to external cloud storage (e.g., S3) can reduce costs, Snowflake's best practice for minimizing internal storage costs is to manage data lifecycle through table types, retention settings, and temporary/transient storage, not manual offloading. The SnowPro Core exam expects Snowflake-native strategies.
References (Snowflake SnowPro Core / Study Guide / Official Documentation):
* Snowflake Documentation - Table Types (Permanent, Transient, Temporary):
"Temporary tables exist only within the session in which they were created and do not incur storage charges beyond the session duration."
* Snowflake Documentation - Managing Costs:
"Use transient or temporary tables for data that does not require long-term retention to reduce storage costs."
* Snowflake Study Guide - Performance Optimization and Cost Management:Emphasizes that temporary tables are a cost-saving mechanism for short-lived data processing.