Performance and Optimizations
This section contains tips and best practices for improving performance with ClickHouse. We recommend users read Core Concepts as a precursor to this section, which covers the main concepts required to improve performance.
| Topic | Description | 
|---|---|
| Query optimization guide | Start here for query optimization fundamentals, covering common scenarios and performance techniques to improve query execution speed. | 
| Primary indexes advanced guide | Deep dive into ClickHouse's unique sparse primary indexing system, how it differs from traditional databases, and best practices for optimal indexing strategies. | 
| Query parallelism | Learn how ClickHouse parallelizes query execution using processing lanes and max_threadssettings, including how to inspect and optimize parallel execution. | 
| Partitioning key | Master partition key selection to dramatically improve query performance by enabling efficient data segment pruning and avoiding common partitioning pitfalls. | 
| Data skipping indexes | Apply secondary indexes strategically to skip irrelevant data blocks and accelerate filtered queries on non-primary key columns. | 
| PREWHEREoptimization | Understand how PREWHEREautomatically reduces I/O by filtering data before reading unnecessary columns, plus how to monitor its effectiveness. | 
| Bulk inserts | Maximize ingestion throughput and reduce resource overhead by batching data insertions effectively. | 
| Asynchronous inserts | Improve insert performance by leveraging server-side batching to reduce client-side complexity and increase throughput for high-frequency insertions. | 
| Avoid mutations | Design append-only workflows that eliminate costly UPDATEandDELETEoperations while maintaining data accuracy and performance. | 
| Avoid nullable columns | Reduce storage overhead and improve query performance by using default values instead of nullable columns where possible. | 
| Avoid OPTIMIZE FINAL | Understand when you should and should not use OPTIMIZE TABLE FINAL | 
| Analyzer | Leverage ClickHouse's new query analyzer to identify performance bottlenecks and optimize query execution plans for better efficiency. | 
| Query profiling | Use the sampling query profiler to analyze query execution patterns, identify performance hot spots, and optimize resource usage. | 
| Query cache | Accelerate frequently executed SELECTqueries by enabling and configuring ClickHouse's built-in query result caching. | 
| Testing hardware | Run ClickHouse performance benchmarks on any server without installation to evaluate hardware capabilities. (Not applicable to ClickHouse Cloud) | 
