AdvancedLast updated: 2026-04-09 • 5 sections
Production-proven best practices for Snowflake covering warehouse management, query optimization, cost control, security, and data modeling.
AUTO_SUSPEND on warehouses. The default 600-second (10-minute) timeout wastes credits on idle warehouses. Setting AUTO_SUSPEND = 60 (or even 30 for dev warehouses) with AUTO_RESUME = TRUE is the single highest-impact cost optimization for most organizations.
Use the SNOWFLAKE.ACCOUNT_USAGE schema: WAREHOUSE_METERING_HISTORY for compute costs, STORAGE_USAGE for storage costs, and QUERY_HISTORY for per-query cost analysis. Set up resource monitors with credit quotas and alerts. For organization-level views, use SNOWFLAKE.ORGANIZATION_USAGE.
Use them sparingly. Materialized views auto-refresh (adding serverless compute cost), only support single-table sources, and have syntax restrictions. They're best for expensive aggregations on large tables queried frequently by BI tools. For complex multi-table transformations, use dbt models materialized as tables on a schedule instead.