Bird
Raised Fist0
Snowflakecloud~20 mins

Result caching layers in Snowflake - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Result Cache Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ service_behavior
intermediate
2:00remaining
How does Snowflake's result cache behave after data changes?

Snowflake caches query results to speed up repeated queries. What happens to the cached results if the underlying table data changes?

AThe cached results are automatically invalidated and not used for subsequent queries.
BThe cached results are used only if the query is run within 5 minutes of the data change.
CThe cached results are updated automatically to reflect the new data.
DThe cached results remain and are returned until manually cleared.
Attempts:
2 left
💡 Hint

Think about data consistency and cache freshness.

❓ Architecture
intermediate
2:00remaining
Which layer in Snowflake caches query results for all users?

Snowflake has multiple caching layers. Which cache layer stores results that can be reused by any user running the same query?

ALocal disk cache on the user's client machine
BWarehouse cache specific to a virtual warehouse
CResult cache shared across all users and warehouses
DMetadata cache inside the database catalog
Attempts:
2 left
💡 Hint

Consider which cache is global and query-specific.

❓ security
advanced
2:00remaining
What security consideration applies to Snowflake's result cache?

Snowflake caches query results globally. What security feature ensures users only see cached results they are authorized to access?

AResult cache requires manual approval before sharing results.
BResult cache stores results only for queries run by the same user.
CResult cache encrypts data with user-specific keys.
DResult cache respects role-based access control and only returns results if the user has permission.
Attempts:
2 left
💡 Hint

Think about how Snowflake enforces data access controls.

✅ Best Practice
advanced
2:00remaining
How can you maximize the benefit of Snowflake's result cache in your queries?

To get the most speed from Snowflake's result cache, what practice should you follow when writing queries?

AUse SELECT * to ensure all columns are cached.
BWrite queries with consistent syntax and avoid unnecessary changes.
CRun queries from different warehouses to increase cache hits.
DDisable caching to always get fresh data.
Attempts:
2 left
💡 Hint

Think about how query text affects cache matching.

🧠 Conceptual
expert
2:00remaining
What is the maximum duration Snowflake retains results in the result cache?

Snowflake keeps query results in the result cache for a limited time. What is the maximum time a result can stay cached if the underlying data does not change?

A24 hours
B90 days
C7 days
DIndefinitely until cache is manually cleared
Attempts:
2 left
💡 Hint

Consider Snowflake's default cache retention policy.

Practice

(1/5)
1. What does Snowflake's result caching do when you run the same query multiple times within 24 hours?
easy
A. Deletes the previous result and returns an error
B. Runs the query again and stores a new result
C. Requires manual cache refresh before returning results
D. Returns the cached result instantly without rerunning the query

Solution

  1. Step 1: Understand Snowflake's caching behavior

    Snowflake stores query results for 24 hours to speed up repeated queries.
  2. Step 2: Identify the effect of caching on repeated queries

    When the same query runs again within 24 hours, Snowflake returns the cached result instantly without rerunning the query.
  3. Final Answer:

    Returns the cached result instantly without rerunning the query -> Option D
  4. Quick Check:

    Result caching = instant cached return [OK]
Hint: Same query within 24h returns cached result instantly [OK]
Common Mistakes:
  • Thinking query always reruns
  • Assuming cache expires immediately
  • Believing manual refresh is needed
2. Which of the following is the correct way to disable result caching for a single query in Snowflake?
easy
A. ALTER SESSION SET DISABLE_CACHE = TRUE;
B. ALTER SESSION SET USE_CACHED_RESULT = FALSE;
C. ALTER SESSION SET NO_CACHE_RESULT = TRUE;
D. ALTER SESSION SET SKIP_CACHE = TRUE;

Solution

  1. Step 1: Recall how to disable result caching

    Snowflake uses ALTER SESSION SET USE_CACHED_RESULT = FALSE to disable caching for the session.
  2. Step 2: Match the correct syntax

    The correct syntax is ALTER SESSION SET USE_CACHED_RESULT = FALSE;
  3. Final Answer:

    ALTER SESSION SET USE_CACHED_RESULT = FALSE; -> Option B
  4. Quick Check:

    Disable cache param = USE_CACHED_RESULT = FALSE [OK]
Hint: Use ALTER SESSION SET USE_CACHED_RESULT = FALSE to disable caching [OK]
Common Mistakes:
  • Using wrong parameter names
  • Incorrect ALTER SESSION syntax
  • Confusing with other cache parameters
3. Consider this sequence of queries run in Snowflake:
SELECT COUNT(*) FROM sales;
Immediately followed by:
SELECT COUNT(*) FROM sales;
What will happen on the second query?
medium
A. Snowflake returns the cached result from the first query
B. Snowflake returns partial results from cache
C. Snowflake returns an error about duplicate queries
D. Snowflake reruns the query and returns fresh results

Solution

  1. Step 1: Identify caching behavior for repeated queries

    Snowflake caches query results for 24 hours and returns cached results if the same query runs again.
  2. Step 2: Apply to the given queries

    The second SELECT COUNT(*) query is identical and runs immediately, so Snowflake returns the cached result.
  3. Final Answer:

    Snowflake returns the cached result from the first query -> Option A
  4. Quick Check:

    Repeated query = cached result return [OK]
Hint: Repeated query returns cached result instantly [OK]
Common Mistakes:
  • Assuming query always reruns
  • Expecting partial or error results
  • Confusing cache with data freshness
4. You executed this command in Snowflake:
ALTER SESSION SET USE_CACHED_RESUTL = FALSE;
But you notice subsequent queries still return cached results. What is the likely cause?
medium
A. Result caching cannot be disabled in Snowflake
B. The query is too complex to cache
C. The USE_CACHED_RESULT parameter is misspelled or incorrect
D. The cache expired before the query ran

Solution

  1. Step 1: Verify the USE_CACHED_RESULT parameter usage

    The parameter must be spelled exactly USE_CACHED_RESULT and set to FALSE to disable caching.
  2. Step 2: Identify why caching still happens

    If caching still occurs, the parameter might be misspelled or incorrectly specified.
  3. Final Answer:

    The USE_CACHED_RESULT parameter is misspelled or incorrect -> Option C
  4. Quick Check:

    Correct parameter spelling and value disables cache [OK]
Hint: Check parameter spelling and syntax to disable caching [OK]
Common Mistakes:
  • Assuming caching can't be disabled
  • Misspelling the parameter name
  • Ignoring exact parameter syntax
5. You want to ensure a query always returns fresh data and never uses cached results in Snowflake. Which approach correctly achieves this while minimizing cost?
hard
A. Execute ALTER SESSION SET USE_CACHED_RESULT = FALSE; before the query to disable caching
B. Manually clear the entire result cache before running the query
C. Run the query multiple times to refresh the cache
D. Use a different warehouse to bypass caching

Solution

  1. Step 1: Identify how to disable result caching per session

    Snowflake allows disabling result caching using ALTER SESSION SET USE_CACHED_RESULT = FALSE before the query.
  2. Step 2: Evaluate other options for cost and effectiveness

    Manually clearing cache or switching warehouses is inefficient and costly; running multiple times does not guarantee fresh data.
  3. Final Answer:

    Execute ALTER SESSION SET USE_CACHED_RESULT = FALSE; before the query to disable caching -> Option A
  4. Quick Check:

    Use USE_CACHED_RESULT = FALSE for fresh data [OK]
Hint: Use ALTER SESSION SET USE_CACHED_RESULT = FALSE for fresh data without extra cost [OK]
Common Mistakes:
  • Trying to clear cache manually
  • Switching warehouses unnecessarily
  • Relying on repeated runs to refresh data
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard