Snowflake's consumption-based pricing model is one of its greatest strengths — and one of its biggest surprises for new customers. Without proper governance, costs can grow well beyond projections. The good news: most Snowflake overspend is recoverable without any impact to performance or user experience. Here is the checklist we run through for every Snowflake environment we manage.
Warehouse Sizing and Auto-Suspend
The most common source of Snowflake waste is warehouses left running when not in use. Configure auto-suspend to 1-2 minutes for interactive query workhouses. Many organizations leave the default at 10 minutes, which means 8 minutes of credit burn per idle session.
Similarly, most ad-hoc query warehouses are oversized. An X-Large warehouse costs 16x a Small warehouse per minute. Most interactive users never see a performance difference between Medium and Large — the additional capacity just sits unused.
Quick win: Audit your warehouse sizes and auto-suspend settings today. For most organizations this single change reduces monthly credits by 15-25%.
Identify and Fix Full Table Scans
Snowflake's micro-partitioning means that well-clustered tables are scanned efficiently, while poorly structured queries trigger expensive full scans. Review the QUERY_HISTORY view for queries with high BYTES_SCANNED relative to BYTES_PROCESSED — these are candidates for clustering key optimization or query rewriting.
Use Resource Monitors Proactively
Snowflake resource monitors let you set credit thresholds and automatic actions — notify, suspend warehouse, or suspend all warehouses — when spending exceeds defined limits. Every production environment should have resource monitors configured at the account level and for high-usage warehouses.
Eliminate Redundant Data Pipelines
Organizations that have grown their Snowflake use organically often have multiple pipelines loading overlapping data into different schemas. A data audit to identify redundant loads can eliminate both storage costs and the compute used to load and transform duplicate data.
Optimize COPY and Data Loading Patterns
Loading many small files one at a time is one of the least efficient patterns in Snowflake. Batch files into 100-250MB chunks before loading. Use Snowpipe for streaming ingestion where appropriate. Configure loading warehouses separately from query warehouses — you often need different size profiles for each.
Review Search Optimization Service Usage
Search Optimization Service (SOS) is useful for selective point lookups, but it carries ongoing credit costs. Audit which tables have SOS enabled and whether query patterns actually benefit from it. Many organizations enable it broadly without validating the return on the credit investment.
The bottom line: Snowflake cost optimization is not a one-time project. It requires ongoing governance, quarterly warehouse sizing reviews, and monitoring of new workloads as they are added to the platform.
Want a Snowflake Cost Review?
Nanak Technology's Snowflake architects specialize in governance, credit optimization, and performance tuning. We typically find significant savings in the first 30 days.
Request a Snowflake Assessment