
I am a huge fan of testing performance on either the actual production data or a full-sized copy of the data. With every database platform I’ve worked with in a 20+ year career, performance is often excellent at a smaller…

In my day job, I spend a lot of time looking at other peoples’ SQL and helping them make it run faster through a vast array of different techniques. I have been toying lately with seeing if I could take…

In my early days as a Db2 DBA, it was occasionally easy to be a performance hero. In those days, on 32-bit systems, the default size of Db2’s default buffer pool (primary data cache) was 1,000 4k pages. For many…

While I spend my day job digging into an amazing variety of performance issues, there are some patterns we see over and over again. The first pattern I blogged about was partition pruning. In this article, I’d like to address…

One key to performance in Snowflake is using partition pruning to read as little data as possible. I’ve previously written about what partition pruning is in Snowflake, but there are really two different types of partition pruning. Static Partition Pruning…
I have to say, I love Snowflake, and I think I’ve found my career home, at least for a while. I’m fairly sure I’m past the honeymoon period at this point, too. I’ve been frustrated with a couple of things,…

I spent more than 20 years working with relational databases, gaining a deep expertise with Db2 LUW and a lesser expertise working with MySQL along with a bit of time spent on MS SQL Server, Oracle, and random other database…

I often start with just a query id and a general description of a performance problem. Almost as often as I’m looking at query profiles or the equivalent in internal tools, I like to see more about the context of…

One of the most basic building blocks of Snowflake query performance is partition pruning. Let’s explore partition pruning, identifying when it is occurring, and why it matters for query performance. Micro-Partitions Snowflake stores data in micro-partitions. Micro-partitions are proprietarily structured…

This was one of my favorite types of blog entries to write when I worked with IBM Db2, and I’d like to revive it for Snowflake queries. I spend a good part of my day job helping people solve SQL…

As someone who regularly makes up scenarios to demonstrate concepts – both professionally and in my free time, I was very used to Db2’s answer to data generation – which is basically either fun with recursive SQL, pay for the…

I have answered this question so many times and in so many different ways. Conceptually, my article Db2 Basics: The Role of Databases covers the concept of a database or database management system, why we need them and how we…