ClickHouse Feature Journey

The evolution of ClickHouse to an analytics platform for all workloads

Explore the releases that transformed ClickHouse into a complete platform for real-time analytics, data warehousing, observability, and AI workloads.

2026
Apr · 26.4

NATURAL JOIN

ClickHouse now includes support for NATURAL JOIN, simplifying queries by automatically matching columns with the same name and removing duplicate fields from the output.

Learn more →

JOIN spilling to disk

Large hash joins now gracefully spill to disk when memory thresholds are exceeded, allowing queries to continue executing instead of failing under memory pressure.

Learn more →

Statistics by default

ClickHouse now generates basic column statistics automatically for new tables, giving the optimizer better cardinality estimates and pruning decisions without impacting insert performance.

Learn more →
Mar · 26.3

Adaptive hash join selection

ClickHouse now automatically picks the optimal hash join strategy at runtime based on cardinality estimates, reducing query planning overhead.

Learn more →
2025
Dec · 25.12

Faster lazy reading with join-style execution model

Deferred data reads during join processing reduce unnecessary I/O and memory consumption for complex joins.

Learn more →

Faster joins with a more powerful join reordering algorithm

A global join reordering algorithm evaluates entire join graphs to choose more efficient multi-table execution plans.

Learn more →
Oct · 25.10

Bloom filters in joins

Runtime Bloom filter pre-filters on join keys eliminate non-matching rows before the actual join phase.

Learn more →

Lazy columns replication in joins

Lazy columns replication avoids processing repeated join key values, reducing CPU and memory usage significantly.

Learn more →

Push-down of complex conditions in joins

Complex OR conditions inside join predicates are now pushed down earlier, reducing rows participating in joins.

Learn more →
Sep · 25.9

Automatic global join reordering

The optimiser now determines the best join order for queries with multiple joined tables, improving multi-table performance.

Learn more →
Jul · 25.7

Optimisations for hash joins

Low-level optimisations to the parallel hash join improve CPU utilisation and throughput across multiple cores.

Learn more →
Feb · 25.2

Faster parallel hash join — build phase

Improvements to the build phase reduce thread contention and improve scalability for large join workloads.

Learn more →
Jan · 25.1

Faster parallel hash join — probe phase

Enhancements to the probe phase and internal hash map structures improve performance consistency and overall join efficiency.

Learn more →
2024
Dec · 24.12

Automatic join reordering

The optimiser now selects better join execution plans automatically, without requiring manual query restructuring.

Learn more →

Optimisation of JOIN expressions

JOIN expressions are automatically optimised and common expressions extracted and simplified algebraically.

Learn more →

Non-equi joins supported by default

Non-equal join conditions (experimental since 24.05) are now enabled by default in all deployments.

Learn more →
Nov · 24.11

Parallel hash join becomes default

The parallel hash join algorithm is now the default join strategy, enabling better multi-core utilisation out of the box.

Learn more →
Aug · 24.8

JOIN improvements

Expanded non-equal JOIN strictness variants and a new OPTIMIZE TABLE for Join-engine tables reduce memory footprint by up to 30%.

Learn more →
Jul · 24.7

Merge join algorithm for ASOF JOIN

ASOF JOIN now works with the non-memory-bound full sorting merge join algorithm for large-scale time-series joins.

Learn more →

Faster parallel hash join

Optimised hash table allocation and reuse strategies reduce overhead and improve execution speed for repeated join queries.

Learn more →
May · 24.5

Cross JOIN improvements

Performance and efficiency improvements to cross joins reduce resource usage and make Cartesian joins more practical.

Learn more →

Non-equal JOIN support

Support for non-equal join conditions (<, >, <=, >=) enables more expressive analytical queries beyond equi-joins.

Learn more →
Apr · 24.4

Recursive CTE support

Recursive common table expressions enable hierarchical and graph-like traversals directly in SQL.

Learn more →

Join performance improvements

General join performance enhancements reduce inefficiencies and improve predicate handling across all join types.

Learn more →
2023
Dec · 23.12

PASTE JOIN

PASTE JOIN joins datasets by row number rather than key, useful when equivalent rows across datasets refer to the same item.

Learn more →
2022
Dec · 22.12

Grace hash JOIN & reduced memory for hash join

The Grace Hash join overcomes memory limits of partial merge join, and hash join memory overhead is also reduced.

Learn more →
Mar · 22.3

Join improvements begin

Baseline TPC-H benchmark established. Many queries still TIMEOUT or fail with unsupported correlated-subquery syntax — the starting point for the multi-year journey of join improvements that follows.