,

ClickHouse® 25.12: Performance & Production-Grade Analytics

Mohamed Hussain S avatar
ClickHouse® 25.12: Performance & Production-Grade Analytics

ClickHouse® 25.12, released on December 18, 2025, is a major stability and performance-focused release that strengthens ClickHouse’s position as a production-ready analytics platform.

Rather than introducing flashy surface-level features, 25.12 delivers deep engine improvements: faster JOINs, smarter query planning, safer schema changes, better vector handling, and meaningful operational upgrades for cloud, lakehouse, and high-ingest workloads.

This article breaks down the most important official changes – and explains why they matter in real systems.

Key Highlights in ClickHouse® 25.12

ClickHouse® 25.12 continues heavy investment in JOIN performance and correctness.

What’s new

  • JOIN runtime filters now support ANTI JOINs, reducing unnecessary data scans.
  • JOIN reordering improvements using a new experimental DPsize algorithm, helping the planner choose more efficient join orders for complex INNER JOIN queries.
  • Improved read-in-order behavior across JOINs, allowing downstream stages to reuse ordering and reduce sorting costs.
  • Lower memory usage for JOINs with additional filters, fixing regressions seen in previous versions.

Why this matters

JOIN-heavy analytics is often where ClickHouse® clusters hit:

  • memory pressure
  • latency spikes
  • unpredictable query plans

25.12 makes JOIN execution more stable and easier to reason about at scale.

This release includes dozens of low-level performance optimizations, many of which stack together in real workloads.

Notable improvements

  • ORDER BY … LIMIT N optimizations using skip indexes and dynamic thresholds.
  • Skip indexes now work with mixed AND/OR conditions in WHERE clauses (enabled by default).
  • Faster index analysis when large minmax indexes are present.
  • Improved lazy column materialization, reducing CPU and memory overhead.
  • Better SIMD usage for logical functions, sorting, and boolean conversions.
  • Improved Decimal comparison performance.
  • Optimized MergeTree reader filtering and merge behavior.

Why this matters

These changes don’t require query rewrites – existing queries simply get faster, especially on large datasets.

Vector workloads continue to mature in ClickHouse® 25.12.

Key updates

  • Implicit type casting from Array → QBit is now supported, simplifying inserts.
  • Multiple crash and correctness fixes for L2DistanceTransposed, including:
    • non-constant reference vectors
    • mismatched element types
    • invalid precision values
  • Vector index cache entries are cleaned up immediately when table parts are dropped.
  • Additional safety checks prevent malformed QBit data from crashing the server.

Why this matters

ClickHouse® is becoming increasingly viable for:

  • similarity search
  • embedding analytics
  • ML-assisted querying

25.12 focuses on correctness, safety, and operational reliability for vector workloads.

ClickHouse® SQL continues to become more expressive and intuitive.

New and improved SQL features

  • Non-constant arguments are now allowed in IN, including tuple-based inputs.
  • Negative tuple indexing is supported (e.g. tuple.-1).
  • INSERT into ALIAS columns is now allowed.
  • New cryptographic HMAC() function.
  • Geometry functions for area and perimeter calculations.
  • Improved windowFunnel behavior with allow_reentry, enabling more accurate funnel analytics.

Why this matters

Cleaner SQL means:

  • fewer workarounds
  • simpler analytics logic
  • more maintainable pipelines

ClickHouse® 25.12 strengthens integration with modern data platforms.

Highlights

  • Iceberg support improvements, including ORDER BY support and safeguards against large partition counts.
  • Delta Lake Change Data Feed (CDF) support via table functions.
  • S3 / Azure Queue enhancements, including file tagging and move actions after processing.
  • Improved S3 performance by pushing down path filters and avoiding unnecessary listings.
  • Pre-signed S3 URLs are now fully supported.

Why this matters

These changes reduce operational friction when ClickHouse® is used as part of:

  • lakehouse architectures
  • object-storage–based analytics
  • cloud-native pipelines

Some changes in 25.12 require attention before upgrading.

Key breaking changes

  • ALTER MODIFY COLUMN now requires an explicit DEFAULT when converting Nullable → non-nullable.
  • Non-comparable types are no longer allowed in ORDER BY or comparison functions.
  • Special MergeTree engines can no longer be created with empty ORDER BY keys.
  • Projection positional arguments are now disabled by default (opt-in available).
  • Ngram tokenizer behavior changed – empty tokens now return no rows.

Upgrade tip

Run upgrades in staging first and review schema mutations and text search behavior carefully.

Operational visibility improves significantly in 25.12.

What’s new

  • New system tables for background job introspection
  • Better error logging, including last error metadata
  • Improved ClickHouse client exit codes, making automation safer
  • Improved Keeper and ZooKeeper compatibility
  • Reduced memory usage during merges and background tasks

Why this matters

These changes make ClickHouse® easier to operate, debug, and automate in production.

This is a “hardening” release.

ClickHouse® 25.12 focuses on:

  • performance consistency
  • correctness under edge cases
  • safer upgrades
  • real-world production behavior

If you’re running:

  • JOIN-heavy analytics
  • large MergeTree tables
  • vector similarity workloads
  • cloud or lakehouse pipelines

25.12 is a high-value upgrade.

ClickHouse® 25.12 doesn’t chase headlines – it improves the foundation.

With faster JOINs, smarter query planning, stronger vector reliability, and better operational tooling, this release makes ClickHouse® more dependable at scale.

For teams already using ClickHouse® in production, the gains are real and measurable.

At Quantrail Data, we help teams:

  • Upgrade ClickHouse safely
  • Optimize JOIN-heavy workloads
  • Design analytics + vector pipelines
  • Operate ClickHouse reliably at scale

If you’re planning a 25.12 upgrade or want expert guidance, we’re happy to help.

ClickHouse Release 25.12 – Official Changelog
ClickHouse Release 25.11 – blog