SELECTSELECT

Latest

All Posts

Should you use CTEs in Snowflake?
By Niall WoodwardMar 14, 20239 min read

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
By Ian WhitestoneFeb 24, 20235 min read

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
By Ian WhitestoneFeb 7, 20237 min read

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
By Niall WoodwardJan 17, 20235 min read

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
By Ian WhitestoneJan 15, 202312 min read

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
By Ian WhitestoneDec 17, 20225 min read

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
By Ian WhitestoneDec 4, 202210 min read

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
By Niall WoodwardNov 26, 20228 min read

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
By Ian WhitestoneNov 20, 202210 min read

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
By Niall WoodwardNov 11, 20229 min read

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
By Niall WoodwardNov 2, 20226 min read

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
By Niall WoodwardOct 22, 20223 min read

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.