Latest
All Posts
85 published posts

Should you use CTEs in Snowflake?
CTEs are an extremely valuable tool for modularizing and reusing SQL logic. They're also a frequent focus of optimization discussions, as their usage has been associated with unexpected and sometimes inefficient query execution. In this post, we dig into the impact of CTEs on query plans, understand when they are safe to use, and when they may be best avoided.

Monitoring dbt model spend and performance with metadata
In this post, we show how you can use query tags or comments to achieve better visibility & monitoring for your Snowflake dbt model costs and performance.

Snowflake query tags for enhanced monitoring
Snowflake query tags allow users to associate arbitrary metadata with each query. In this post, we show how you can use query tags to achieve better visibility & monitoring for your Snowflake query costs and performance.

3 ways to configure Snowflake warehouse sizes in dbt
The ability to use different warehouse sizes for different workloads in Snowflake provides enormous value for performance and cost optimization. dbt natively integrates with Snowflake to allow specific warehouses to be chosen down to the model level. In this post, we explain exactly how to use this feature and share some best practices.

How to speed up range joins in Snowflake by 300x
A deep dive into how you can optimize queries involving a range join for up to a 300x performance improvement.

Exclude and rename columns when using SELECT * in Snowflake
An overview of Snowflake's new SQL syntax which allows users to exclude and rename specific columns when running a SELECT * style query.

How to use the Snowflake Query Profile
The Snowflake Query Profile is the single best resource you have to understand how Snowflake is executing your query and learn how to improve it. In this post we cover important topics like how to interpret the Query Profile and the things you should look for when diagnosing poor query performance.

Choosing the right warehouse size in Snowflake
Snowflake users enjoy a lot of flexibility when it comes to compute configuration. In this post we cover the implications of virtual warehouse sizing on query speeds, and share some techniques to determine the right one.

Defining multiple cluster keys in Snowflake with materialized views
How to effectively utilize Snowflake’s materialized views to allow your table to have multiple, separate cluster keys.

3 Ways to Achieve Effective Clustering in Snowflake
Pairing query design with effective clustering can dramatically improve pruning and query speeds. We'll explore how and when you should leverage this powerful Snowflake feature, and the three ways you can effectively cluster your tables.

Micro-Partitions: Understanding Snowflake's File Structure
Independently scalable compute and storage is an architecture fundamental of Snowflake. In this post, we’ll be focusing on how Snowflake stores data, and how it can greatly accelerate query performance.

60x faster database clones in Snowflake
Snowflake's zero-copy cloning feature is extremely powerful for quickly creating production replica environments. But, anyone who has cloned a database or schema with a large number of tables has experienced that it can take over ten minutes to complete. In this post we explore a potential solution.