Latest Posts
Iceberg and Parquet, for all their flaws, have shown us a fascinating path forward for the database industry: Disaggregation. Apache Arrow is quickly moving us in the direction of the...
Welcome back to the TPC-H series, dear reader. And happy holidays to those of you who've already shut down. In today's educational blog, I'm going to teach you about: This is a lot of to in...
Today's query will give us a new insight about about query optimisers — because one of the joins contains a little extra surprise: Composite key joins. We will also learn about a new, we a...
Happy 2026 to everyone. It is good to be back writing - this time about Query 11 from TPC-H. We are now half way through the workload and if I am doing what I set out to do, you now have a good on:...
In today's look at TPCH-H Q08, we're going to once again walk through an optimal join order example. The query is quite boring, but it does allow me to talk about a few other things related...
It is time to resume the TPC-H series and look at Query 7. We will learn about how query optimisers can decompose filters and reason about the structure of expressions to reduce join This...
And now, for something completely different. This week on TPC-H query analysis - we are not going to look at join ordering. Today's query does not have any joins. But as we shall see, is to...
Welcome back to the TPC-H analysis. If this is your first time, I highly recommend that you visit the previous blogs in the series first. They're here (and I look forward to seeing you in a...
Today we are looking at a Q04 — which on the surface is similar to Q17. Like Q17, Q04 has a correlated subquery that can be de-correlated using a join. But sometimes, a regular INNER JOIN is...
There are some in our industry who can read a schema and instantly see the joins. They dream in sets, write SQL queries routinely and reach for window functions without hesitation. And a...

