Benchmark a query against multiple servers
clickhouse-benchmark is a powerfull tool. Here's how to benchmark a query against different ClickHouse servers that might have different versions or configurations.
Use compact parts to store columns together on disk
Ever wondered how to improve performance when querying many columns in ClickHouse? Here's how to use compact parts to do so.
Optimize scans with column compression
Want to optimize your queries in ClickHouse? Here's how to use column compression to speed up ClickHouse queries.
Speed up ARGMIN and ARGMAX aggregations
ClickHouse currently is not able to use the knowledge of the sort key from a table to speed up aggregations. This means that to get the ARGMIN() or ARGMAX() values from a table it will read all values even if it's sorted by that column:
Make joins faster by moving your filter
Want to speed up your joins in ClickHouse? Here is a smart approach to improving ClickHouse join speed by applying your filters earlier in a subquery.
Filter with PREWHERE
Wondering when to use PREWHERE in ClickHouse? Here's how to optimize filtering with PREWHERE and minimize scan size in ClickHouse.
How the order of GROUP BY in ClickHouse affects performance
Does the order of your GROUP BY in ClickHouse affect query performance? Read this to learn why GROUP BY order matters.
Improve filter performance with an inverted index
Sorting keys are critical to query performance in ClickHouse. Read this to learn when and how to optimize query performance using an inverted index.
Improve performance with time series data
ClickHouse is a perfect database for time series data. Here's how to improve time series performance in ClickHouse by choosing the right table engine.
Minimize processed bytes with index granularity
Slow queries in ClickHouse? Here's a trick that could significantly reduce the amount of data your ClickHouse queries process.
Optimize memory usage for joins
ClickHouse has different algorithms for join operations. Here's how to choose which join algorithm to use to reduce memory usage.
Use LowCardinality
ClickHouse LowCardinality types can improve the speed of your queries. Here is how and when to use LowCardinality to optimize column storage for faster queries.
Minimize processed bytes with index granularity
Adjusting the ClickHouse index granularity has tradeoffs, but can help with some use cases. Here's how adjusting the granularity can help with filters on high cardinality columns.
Use EXPLAIN SYNTAX to optimize queries
The EXPLAIN SYNTAX statement in ClickHouse often provides clues on how to optimize your ClickHouse queries. Here's how to use it.
Optimize single row joins
Wondering how to optimize single row joins in ClickHouse? Use a CROSS JOIN to improve join efficiency in ClickHouse.
How the order of ClickHouse sorting keys affect performance
Does the order of ClickHouse sorting keys affect performance? Read this to learn the answer.
Optimize queries with Sum and Count
Sum() and Count() are the most common ClickHouse aggregations. Here's how to speed up queries in ClickHouse that use a sum and count aggregation.