ClickHouse Joins no longer suck: A look at the engine evolution from 2022–2026 Hi database folks, If you evaluated ClickHouse a few years ago, you were likely told to avoid **JOINs** at all costs. The standard industry advice was to denormalize everything into massive, flat tables. In 2020, that criticism was fair. ClickHouse had a single hash join algorithm; if your right-side table exceeded available memory, the query simply crashed. That advice is now outdated. I recently dug into the commit history, and between 2022 and 2026, the engineering team merged over **50 pull requests** that dismantled almost every legacy limitation of the join engine. # What’s changed? (Shipping by default today) * **Grace Hash Join:** Inactive buckets now spill to disk. OOM crashes for memory-bound joins are completely solved. * **Equivalence-set Filter Pushdown:** Filters propagate across join sides automatically to prune data before it even hits the join.…