Snowflake Optimization in 2025: 7 Tips for Better Performance & Prices

By Ido Arieli Noga
June 2, 2025 | 5 min read

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: 

  1. Optimize your queries
  2. Test your warehouses
  3. Adjust your storage settings
  4. Try data monitoring
  5. Use monitoring and governance tools
  6. Try Snowflake’s Search Optimization Service
  7. 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:

  1. Use Snowflake’s QUERY_HISTORY to analyze your query patterns
  2. Look for queries that run longer than 5 minutes 
  3. 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.

By Ido Arieli Noga
Ido Arieli Noga is the CEO and Co-Founder of Yuki, where he helps businesses cut Snowflake spend through smart warehouse scaling and DevOps-driven optimization. He brings over 12 years of experience across data storage, BI, and FinOps, including nearly four years as Head of Data at Lightico and five years managing large-scale virtual environments in the government sector. Ido holds a degree in Computer Science and is passionate about building scalable, cost-efficient data infrastructures. Since founding Yuki in 2023, he’s focused on helping teams reduce costs without changing queries or code. Find more of his insights on Medium or LinkedIn.

Table of Contents

Free cost analysis

Take 5 minutes to learn how much money you can save on your Snowflake account.

By clicking Submit you’re confirming that you agree with our Terms and Conditions.

Follow us on LinkedIn

Related posts

Free cost analysis

Take 5 minutes to learn how much money you can save on your Snowflake account.

By clicking Submit you’re confirming that you agree with our Terms and Conditions.

Skip to content