SnowPro Core · 14% of the exam

Performance monitoring and optimization: free practice questions

5 sample questions from our 38-question bank for this domain — answers and explanations included. These are the same scenario-based style as the real Snowflake exam.

1. A Snowflake account uses the Enterprise edition. A table with DATA_RETENTION_TIME_IN_DAYS = 30 is dropped by a user. Forty days after the drop, the data team asks Snowflake Support to recover the data. What is the outcome?

  • A. Recovery is possible because Snowflake's Fail-safe provides 7 days of recovery beyond Time Travel, totaling 37 days. Since 40 days have passed, recovery is NOT possible.✓ Correct
  • B. Recovery is always possible regardless of time because Snowflake keeps data permanently in cold storage.
  • C. Recovery is possible because UNDROP TABLE can be used at any time within 90 days on Enterprise edition.
  • D. Recovery is possible because Fail-safe extends for 30 days on Enterprise edition, giving a total of 60 days.
Explanation

Correct (A): For permanent tables, Time Travel retention is defined by DATA_RETENTION_TIME_IN_DAYS (30 days here). After the Time Travel window expires, Snowflake moves the data into Fail-safe, which provides an additional 7 days of recovery accessible only by Snowflake Support. Total potential recovery window = 30 + 7 = 37 days. Since 40 days have elapsed, both Time Travel and Fail-safe have expired and the data is permanently gone — recovery is NOT possible. Incorrect (B): Snowflake does not retain data permanently. Once Fail-safe expires, data is purged and unrecoverable. Incorrect (C): UNDROP TABLE is a Time Travel operation and is only available within the DATA_RETENTION_TIME_IN_DAYS window (30 days). After that window, UNDROP is not possible. The 90-day limit refers to the maximum configurable retention on Enterprise edition, not a fixed recovery window. Incorrect (D): Fail-safe is always 7 days for permanent tables regardless of Snowflake edition. It is not extended to 30 days on Enterprise edition.

2. A Snowflake administrator is reviewing the WAREHOUSE_METERING_HISTORY view and notices that a small XSMALL warehouse has been running continuously for 72 hours with very low query volume — most of the time it is idle. What is the MOST cost-effective configuration change to address this?

  • A. Upgrade the warehouse to a MEDIUM size so it can process queries faster and complete work sooner.
  • B. Enable AUTO_SUSPEND with a short idle timeout (e.g., 60 seconds) so the warehouse automatically suspends when not actively processing queries.✓ Correct
  • C. Convert the warehouse to a multi-cluster warehouse with MIN_CLUSTER_COUNT = 0 so it scales down to zero when idle.
  • D. Set the warehouse MAX_CLUSTER_COUNT = 1 to prevent it from spawning additional clusters, which are the source of the idle credit consumption.
Explanation

An idle warehouse still consumes credits for every second it remains in a STARTED state. Enabling AUTO_SUSPEND with a short timeout (such as 60 seconds) ensures the warehouse suspends automatically after the configured period of inactivity, eliminating idle credit waste. This is the standard Snowflake cost-optimization recommendation for warehouses with intermittent workloads. Option A is incorrect — upgrading the size increases the credit consumption rate per hour; it would make idle costs worse, not better. Option C is incorrect — MIN_CLUSTER_COUNT = 0 is not a valid Snowflake configuration; the minimum value for MIN_CLUSTER_COUNT is 1. Multi-cluster settings control concurrency scaling, not idle-state suspension. Option D is incorrect — MAX_CLUSTER_COUNT controls how many clusters can spin up under concurrency load; it does not affect idle credit consumption of the base warehouse.

3. A Snowflake table has DATA_RETENTION_TIME_IN_DAYS = 7. An analyst runs a DELETE statement removing 2 million rows, then immediately realizes the deletion was a mistake. The analyst attempts to use Time Travel to restore the rows. Which statement is TRUE about the storage cost implications of this Time Travel usage scenario?

  • A. Using Time Travel to clone or restore data creates a new full copy of the table, doubling the storage cost permanently.
  • B. The deleted rows are retained in Time Travel storage for 7 days and incur storage charges during that period; cloning or querying via Time Travel does not immediately create additional full copies because Snowflake uses metadata pointers to the existing micro-partitions.✓ Correct
  • C. Time Travel storage is free and does not count toward the account's billable storage.
  • D. Once Time Travel is used to restore data, the retention period resets to 7 days from the restore date, causing the original data to be stored for up to 14 days total.
Explanation

When rows are deleted, Snowflake retains the original micro-partitions for the duration of the Time Travel retention period (7 days here), and these partitions do incur storage charges. However, Time Travel queries and clones work via metadata references to the existing micro-partitions — they do not create redundant full data copies at the moment of access. This is an important cost nuance. Option A is incorrect — cloning via Time Travel uses zero-copy cloning with metadata pointers; it does not immediately duplicate all data. Option C is incorrect — Time Travel storage is absolutely billable; it is a significant storage cost factor, especially for high-churn tables with long retention periods. Option D is incorrect — restoring data does not reset or extend the original Time Travel window; the original deleted micro-partitions' retention clock runs from the time of deletion.

4. A developer sets DATA_RETENTION_TIME_IN_DAYS = 0 on a Snowflake table to reduce storage costs. What is the DIRECT consequence of this setting?

  • A. Time Travel is disabled for the table, but Fail-Safe still provides a 7-day recovery window
  • B. Both Time Travel and Fail-Safe are disabled for the table, making dropped or changed data immediately unrecoverable by any method
  • C. Time Travel is disabled for the table; Fail-Safe is also effectively unavailable for self-service recovery, but Snowflake Support may still assist during a brief internal retention window✓ Correct
  • D. The table is automatically converted to a Transient table, which disables both Time Travel and Fail-Safe permanently
Explanation

Setting DATA_RETENTION_TIME_IN_DAYS = 0 on a permanent table disables the Time Travel window (no historical versions are accessible via AT/BEFORE syntax). However, Snowflake's Fail-Safe for permanent tables is a backend safeguard — its availability is not directly controlled by the retention setting, but with a 0-day Time Travel window, micro-partitions transition to Fail-Safe immediately upon data change/drop. Fail-Safe is still not user-accessible (self-service), but Snowflake Support may be able to recover data during the internal 7-day Fail-Safe period. — Option A is wrong: while it correctly states that Time Travel is disabled, saying Fail-Safe 'still provides a 7-day recovery window' implies user-accessible self-service, which is incorrect. — Option B is wrong: Fail-Safe is not disabled by setting retention to 0 on a permanent table; it is a Snowflake-managed backend mechanism that persists independently. — Option D is wrong: setting retention to 0 does NOT convert the table to a Transient table; Transient tables must be explicitly created as such and have their own properties (no Fail-Safe at all). A permanent table with retention=0 still has Fail-Safe.

5. A query on a 10 TB table consistently spills a large amount of data to REMOTE DISK as shown in the Query Profile. The warehouse is currently size Medium. Increasing the warehouse to size X-Large eliminates all spilling. What is the BEST explanation for why the larger warehouse resolved the spilling?

  • A. The larger warehouse has faster network bandwidth, so data is read from storage more quickly and does not need to be buffered.
  • B. A larger warehouse has more nodes, each with more memory per node, providing greater aggregate memory for holding intermediate query results in RAM rather than spilling to disk.✓ Correct
  • C. The larger warehouse automatically enables the Query Acceleration Service, which routes the spilling operations to shared compute.
  • D. Snowflake's caching layer (result cache) is larger on bigger warehouses, so the query can be served from cache instead of re-executing.
Explanation

Correct (B): In Snowflake, warehouse size determines the number of compute nodes and the total memory available. Larger warehouses provide more aggregate memory, allowing intermediate data (such as hash tables for joins or sort buffers) to remain in RAM. When memory is insufficient, Snowflake spills first to local SSD and then to remote storage. A larger warehouse eliminates this by providing enough in-memory capacity. Incorrect (A): Network bandwidth is not the bottleneck for spilling. Spilling is caused by insufficient memory for intermediate results, not by slow data ingestion from storage. Incorrect (C): QAS is not automatically enabled by increasing warehouse size; it must be explicitly enabled. Additionally, QAS does not specifically address spilling within a warehouse. Incorrect (D): The result cache (query result cache) stores final query results, not intermediate processing data. It only helps if the exact same query is re-run; it has no effect on spilling during execution and is not sized by warehouse.

33 more questions in this domain

Practice the full bank with instant grading, flashcards, and a timed mock exam.

Start practicing free