The best way to eliminate 30-60% of cloud spending waste? Snowflake optimization.
While Snowflake’s architecture can automatically help you out with a lot of cost saving and performance enhancing, its pay-per-second compute model means inefficient queries and oversized warehouses will burn through your monthly budget.
Ready to improve your Snowflake spend and performance? Read on to learn the seven best Snowflake optimization tips of 2025.
What is Snowflake Optimization
Simply put, Snowflake optimization is getting your data to run faster and more efficiently in your Snowflake setup.
The trick here is faster and more efficient. The two do not often come hand in hand.
Buying a bigger warehouse to run your queries faster might lead to better performance, but it might also lead to more resources wasted – so you end up paying for something you didn’t get to use.
Our guide will walk you through the different tricks and tips you can use to keep your platform performing at an optimal level and save you up to 40% on your monthly spend.
And yes, we did save the best trick for last. So if you want to skip ahead and see the easiest way to save big, scroll on.
7 Tactics to Improve Snowflake Performance & Costs
Snowflake performance and cost optimization can be a manual, time-intensive process – unless you’ve decided to invest in some automation tools – but the work is well-worth it. Snowflake, for all of its built-in optimization engines, can be incredibly inefficient.
Here are the seven best tactics to keep your setup running smoothly and cut down on your bill:
- Optimize your queries
- Test your warehouses
- Adjust your storage settings
- Try data monitoring
- Use monitoring and governance tools
- Try Snowflake’s Search Optimization Service
- Get automated
Optimization Tactic #1: Snowflake Query Optimization
Snowflake charges you per second while compute resources are active. That means how you construct your queries has a big impact on your performance.
The good news is there are many tactics for you to test out with Snowflake query optimization. The bad news? It’ll be a time investment.
Our favorite Snowflake query optimization tactic? Adjusting the Snowflake auto-suspend function.
By default, Snowflake will auto-suspend a warehouse after 10 minutes of idle time.
There is some logic behind this: it keeps the cache warm for longer durations and means if you start running queries in that time period, the queries can act on that old cache.
But at the end of the day, that’s 10 minutes of compute time added onto your bill.
Adjust the autosuspend feature to the 60 second minimum limit. See how well your queries perform at that level – and compare that with how much money you’re saving.
Other high-impact query optimizations include:
- Using proper filtering with WHERE clauses early in your queries
- Avoiding SELECT* statements
- Making use of Snowflake’s result caching
For example, updating your query from SELECT * Selecting only the columns needed can reduce your query time dramatically.
Optimization Tactic #2: Warehouse Optimization
Snowflake warehouse optimization is the best way to right-size your warehouses. The longer your warehouse runs, the more compute you use, which means the more you’re paying for a service you might not even be using.
Here’s how to find the right sized warehouse to keep things performing optimally and not waste your money:
- Use Snowflake’s QUERY_HISTORY to analyze your query patterns
- Look for queries that run longer than 5 minutes
- Or look for warehouse utilization below 50%
Organizations using Large houses when they could be using Medium often pay more than 2x for marginal performance gains.
Depending on how many queries you run, and how often you run them, your warehouse needs might fluctuate, so without an automation tool, you’ll want to keep an eye on warehouse performance.
Fine-tuning these settings to a perfect fit means you only pay for the compute resources you use.
Optimization Tactic #3: Storage Optimization
There are several different ways you can approach Snowflake storage optimization.
Get started by taking a look at your unused or redundant data. There’s no need to keep around those old staging tables, unused backups, or temporary data. It’s just taking up resources – money and space – that could be used elsewhere.
Pro tip: Keep an eye out for any tables duplicated across dev, testing, or product environments that don’t need to be stored long-term.
Review your Time Travel and fail-safe settings, too. It pays to be careful. The longer your retention window, the higher your storage bill will be.
Snowflake’s default 1-day Time Travel retention works for most, but many organizations will extend this to a much pricer 7-90 day period. This increases your storage costs by 2-10x. Fail-safe adds another 7 days automatically, which means that 90-day Time Travel period actually retains data for 97 days.
If you’re already feeling good about your unused data and fail-safe settings, look over Snowflake’s Account Usage views (you can use STORAGE_USAGE_HISTORY). This shows you what tables and databases are taking up the most space. Set up some alerts here so you can catch any sudden jumps in the future.
Optimization Tactic #4: Data Modeling
Data modeling is all about designing your tables to support your most common queries. The faster that query runs, the less compute you use, and the less you have to pay. it’s deceptively simple – and a great way to optimize your setup for performance and costs.
Take semi-structured data for instance. Snowflake might handle semi-structured formats like JSON and VARIANT very well, but nested data makes querying slow and expensive. This means if you’re querying the same fields, you should try flattening that data into structured columns. This will help you queries move faster. And you get the added bonus of more efficient filtering and indexing.
An even most impactful data modeling technique is proper clustering. Tables over 1TB should try clustering keys on frequently filtered columns.
Just be careful. Over-clustering can backfire. Limit your clustering keys to 3-4 columns maximum.
Optimization Tactic #5: Monitoring & Governance Tools
As you grow your Snowflake platform, proper monitoring and governance becomes more and more important to keep your platform efficient, cost-effective, and, most importantly, secure. Use some of Snowflake’s tools to help with this.
Here are a few monitoring tools that can make your life easier:
First stop is Snowflake’s Query History tab. Use this to look at how your queries are performing. How long are they taking? What users are taking the most compute? Review this on a regular basis to get an idea of where you should optimize
Query Profile is also a great place to do this because you can see each query broken down step by step, making it easy to identify where that slow join or inefficient operation is.
Make sure to visit the Resource Monitors tool. These are great for setting spending and usage limits on your virtual warehouses. Set up alerts here – or update your warehouse auto-suspend feature – too.
As for governance, Role-Based Access Controls (RBAC) is something you should familiarize yourself with as you scale your Snowflake platform. This lets you assign user roles based on what data they need, which is a great way to manage risks.
Optimization Tactic #6: Search Optimization Service
Snowflake automatically stores your data in micro-partitions. These data sets are automatically optimized for large, analytic scans, but not the best for a pinpoint query like “find all records where email = X”.
Snowflake’s Search Optimization Search (SOS) helps with those kinds of lookups by creating and maintaining specialized indexes. It uses certain columns and paths like JSON fields to quickly locate and return relevant rows so it doesn’t have to scan the entire dataset.
Use this if you’re filtering or joining columns with high cardinality (think product SKU, email, user ID). It’s also useful if clustering is too expensive to maintain.
Just know that SOS is an add-on service. Consider the pros of its pinpoint search with how much more it costs for you to use it each month.
Optimization Tactic #7: Automated Optimization Services
The best way to keep Snowflake performance at an all time high and costs at a new low without dedicating all of your time into optimization? Automation optimization services like Yuki.
Yuki takes the guesswork out of performance. You won’t need to constantly analyze and fine-tune your workloads. Simply set up a plug-and-play tool, no dev lift needed, and watch your costs get lowered up to by an average of 37.6%.
Yuki can automatically detect:
- Inefficient queries
- Underutilized warehouses
- Bloated storage
- Costly configurations
And it will automatically fix these problems, no human intervention needed.
Want to see how much Yuki can help you save? Request your personal demo today.


