Skip to main content
This section covers features and techniques for improving query and ingestion performance with ClickHouse. We recommend reading Core Concepts first for the foundational material these guides build on.

PREWHERE optimization

How PREWHERE reduces I/O by filtering data before reading non-filter columns, and how to monitor its effectiveness.

Allocation profiling

Profile memory allocations to diagnose memory pressure and tune resource usage in ClickHouse.

Caches

Query cache, query-condition cache, and userspace page cache for accelerating repeated workloads.

Skip indexes

Use secondary skip indexes to prune irrelevant data blocks and accelerate filtered queries.

Lazy materialization

Defer column reads until they are needed to reduce I/O for selective queries.

Troubleshooting

Sampling query profiler, hardware benchmarking, and debugging memory issues.