· Data Platforms · 2 min read
Tuning Snowflake: How to Cut Your Credit Usage in Half
Snowflake is easy to use, and easy to overspend on. We share the query optimisation techniques that can save you a fortune.
Snowflake’s “Separate Compute and Storage” architecture is brilliant, but it charges you by the second. A badly written SQL query that scans the whole table instead of a partition is literally burning money.
1. Stop the Full Table Scans (Clustering)
Snowflake uses “Micro-partitions”. If you query WHERE date = '2025-01-01', Snowflake skips 99% of the data if the data is sorted by date. If your data is sorted by User ID, searching by date requires checking every single block.
- Fix: Identify your most common filter columns and use Automatic Clustering only on the largest tables (TB+ size).
2. Warehouse Sizing
Bigger isn’t always faster.
- A “Large” Warehouse (8 servers) costs 2x a “Medium” (4 servers).
- If your query is simple, the “Large” won’t make it much faster, but you pay double.
- Tip: Start Small. Only scale up if you see “Spilling to Remote Disk” in the visual* Query Optimisation: Always check the Query Profile. is your Friend Look at the query profile.
- Exploding Joins: Did you join two huge tables and end up with more rows than you started with? You likely missed a join key (Cartesian product).
- Spilling: If the query runs out of RAM, it writes to the hard drive (slow). If it fills the drive, it writes to S3 (very slow). This is the only time you should increase the Warehouse size.
Snowflake bill too high? We are Snowflake Elite partners. Request a Query Optimisation review.
