Snowflake charges based on what you consume.
That’s an advantage when your environment is well managed… and a problem when it’s not.
In this article, we review the key mechanisms to reduce Snowflake costs without sacrificing performance, based on real-world project experience.
The problem: rising costs in Snowflake environments
The model is simple:
- you pay for compute
- you pay for storage
But in practice:
- warehouses remain active
- tables accumulate unused historical data
- queries are not optimized
Result: your bill doesn’t match expectations
The good news:
in most cases, there is room for optimization without redesigning your architecture.
Warehouse configuration: the biggest cost driver
A virtual warehouse consumes credits while active, even if no queries are running.
This is one of the main sources of unnecessary cost.
Auto-suspend and auto-resume (essential quick win)
- Auto-suspend: shuts down the warehouse after inactivity
- Auto-resume: starts it automatically when a query arrives
Enabling both is the fastest change with the highest impact on cost

Recommendations:
- 60–300 seconds → analytical workloads
- lower values → nightly ETL pipelines
Multi-cluster: useful, but not free
Multi-cluster warehouses:
- scale automatically under concurrency
- increase cost
Use them only if the bottleneck is real concurrency, not query duration.
Result cache: free performance
Snowflake automatically maintains a result cache:
- initial duration: 24h
- up to 31 days if reused
If the query doesn’t change → no credits consumed
Real impact on:
- dashboards (Power BI, Tableau)
- repetitive reporting

Additionally:
- metadata cache
- local disk cache
three complementary optimization layers
Automatic Clustering
Reorganizes data based on key columns:

Key metrics:
- average_overlaps
- average_depth
low values = efficient clustering
high values = inefficient scans
Important: don’t apply clustering everywhere, only on large tables with predictable filters.
Table types and Time Travel

Key optimization: use transient tables for staging
Benefits:
- removes fail-safe
- reduces storage cost (sometimes up to 2x)
DATA_RETENTION_TIME_IN_DAYS
For logs or high-volume tables: reducing this value avoids unnecessary storage growth
Resource monitors and cost control
They allow you to:
- limit credits
- send alerts
- automatically suspend warehouses

Key best practice: separate warehouses by workload
- ETL
- BI
- exploration
- data science
improves visibility and cost control
Materialized views and Query Acceleration Service
Materialized views
- precompute results
- ideal for dashboards

Useful when:
- queries are expensive
- data changes infrequently
Query Acceleration Service (QAS)
Uses external serverless compute:

reduces the need to scale warehouses permanently
Where to start (quick wins)
- enable auto-suspend and auto-resume
- review warehouse sizes
- use transient tables for staging
- reduce unnecessary retention
- create resource monitors
- analyze QUERY_HISTORY
- separate workloads
Conclusion
The most impactful Snowflake optimizations don’t require redesign.
Common issues:
- poorly configured warehouses
- incorrect table types
- lack of cost control
From there:
- clustering
- materialized views
enable more advanced optimization.
Optimize the fundamentals first. Then scale.
Is your Snowflake environment optimized for both cost and performance?
At Bravent, we help organizations analyze, optimize, and scale their data platforms, quickly identifying cost-saving opportunities without impacting business operations.
📩 Contact us at info@bravent.net




