5.2 Core Workflows and Decision Points

Key Takeaways

  • Scale up changes warehouse size (XS→4XL, credits double per step); scale out adds clusters (1–10) in a multi-cluster warehouse.
  • Multi-cluster auto-scale uses STANDARD (fast, ~20s to add a cluster) or ECONOMY (cost-saving, waits ~6 minutes of sustained load).
  • Result cache lasts 24 hours, resets on reuse, and needs syntactically identical SQL with unchanged underlying data and matching access.
  • Warehouse local-disk cache is lost on suspend; metadata cache is always on and powers instant COUNT/MIN/MAX answers.
Last updated: June 2026

Scale Up vs Scale Out

A virtual warehouse is the compute that runs queries. It has two independent dials.

Scaling up means choosing a larger size: X-Small, Small, Medium, Large, X-Large, up through 4X-Large (and beyond on some editions). Each step roughly doubles the compute and the credit consumption per hour — an X-Small burns 1 credit/hour, a Small 2, a Medium 4, a Large 8, and so on. A bigger warehouse has more memory and local SSD, so it processes a single large or complex query faster and spills less to disk. Scale up for heavy individual queries, large sorts/joins, and bulk loads.

Scaling out means running a multi-cluster warehouse with more clusters of the same size. You set MIN_CLUSTER_COUNT and MAX_CLUSTER_COUNT (1–10 in Snowsight; Snowflake raised the underlying maximum above 10 in 2025). This solves concurrency: when many users submit queries at once and requests start queuing, additional clusters spin up so each query gets compute. Scaling out does not make any single query faster — it only adds throughput for parallel requests.

The two dials are independent and combinable: a multi-cluster Large warehouse scales both heavy individual queries (size) and concurrency (clusters). Sizing also halves both ways — dropping from Large to Medium halves the credit rate but doubles the time a compute-bound query takes, so the credits for that one query are roughly unchanged; the savings come from idle time, not the query itself.

Multi-Cluster Modes and Scaling Policy

A multi-cluster warehouse runs in one of two modes:

  • Maximized mode: MIN_CLUSTER_COUNT = MAX_CLUSTER_COUNT (e.g., 3 = 3). All clusters start immediately and stay running — predictable capacity, no auto-scaling.
  • Auto-scale mode: MIN < MAX. Snowflake starts and stops clusters automatically based on load, governed by the scaling policy.

The scaling policy only matters in auto-scale mode:

PolicyAdds a cluster when…Removes a cluster when…Best for
STANDARD (default)queries are queuing or about to queue (within ~20 seconds)load could be handled by fewer clusters after 2–3 consecutive successful checks (~2–3 min)Latency-sensitive, user-facing BI
ECONOMYonly after the system estimates ~6 minutes of sustained load to keep clusters fully loadedafter ~5–6 consecutive successful checksCost-sensitive batch/ELT where some queuing is acceptable

STANDARD prioritizes performance and starts clusters aggressively; ECONOMY conserves credits by keeping running clusters busy before adding more. A common trap: assuming the policy affects single-cluster size — it does not. It only controls when extra clusters start and stop.

The Three Cache Layers

Know exactly where each cache lives and what invalidates it.

1. Result cache (cloud services layer). Stores the complete result set of every query for 24 hours. Reusing the result resets the 24-hour clock, up to a maximum retention of 31 days. It requires no running warehouse — the cloud services layer serves it. Conditions to hit it: the new query is syntactically identical (same text, even whitespace/case can matter), the underlying data has not changed, the role has the needed privileges, and the query is deterministic (no CURRENT_TIMESTAMP, no non-deterministic UDFs). It can be disabled with USE_CACHED_RESULT = FALSE.

2. Warehouse local-disk cache (compute layer). Each warehouse caches raw micro-partition data it fetched from remote storage on its local SSD. Subsequent queries on the same data read from SSD instead of cloud storage — much faster. This cache is lost when the warehouse is suspended and rebuilds when it resumes; larger warehouses hold more.

3. Metadata cache (cloud services layer). Always on, cannot be disabled. Stores object statistics — row counts, min/max per column, distinct-value estimates, and micro-partition boundaries. It lets SELECT COUNT(*), MIN, MAX, and similar metadata-only queries return instantly without starting a warehouse, and it powers pruning.

Warehouse Economics: Auto-Suspend, Auto-Resume, and Billing

Compute cost is controlled by three settings the exam tests directly:

  • AUTO_SUSPEND — seconds of inactivity before the warehouse suspends (stops billing). A low value (e.g., 60s) prevents idle credit burn; the trade-off is that suspension clears the local-disk cache, so the next query warms the cache again. For workloads that benefit heavily from the cache, a slightly higher auto-suspend can be worth the idle credits.
  • AUTO_RESUME — when TRUE, a suspended warehouse automatically restarts when a query is submitted, so users never see "warehouse not running."
  • Billing granularity — credits are charged per second with a 60-second minimum each time a warehouse resumes. Frequent suspend/resume cycles can therefore cost more than staying warm if queries arrive in tight bursts.

Resizing behavior is also testable. Scaling up or down (ALTER WAREHOUSE ... SET WAREHOUSE_SIZE) affects queries submitted after the resize — running queries finish on the old size. By contrast, multi-cluster scaling out adds clusters that immediately start serving queued queries.

SettingEffectExam cue
AUTO_SUSPEND = 60Suspend after 1 min idleMinimize idle credits
AUTO_RESUME = TRUERestart on demandSeamless user experience
Resize largerNew queries run fasterOne heavy query / spilling
MAX_CLUSTER_COUNT > 1Absorb concurrencyMany users / queuing

A recurring distractor pairs the wrong dial with the symptom — e.g., enlarging a warehouse to fix queuing, or adding clusters to fix a single slow query. Match the dial to the symptom and the credit goal, and these questions become routine.

Test Your Knowledge

A dashboard used by 200 analysts shows query queuing at peak hours, but each individual query is fast. Which configuration best addresses this?

A
B
C
D
Test Your Knowledge

How long does the Snowflake query result cache retain a result, and what extends it?

A
B
C
D
Test Your Knowledge

Which Snowflake cache is lost when a virtual warehouse is suspended?

A
B
C
D