v.19.1New Features

Custom per Column Compression Codecs for Tables

Custom per column compression codecs for tables. #3899 #4111 (alesapin, Winter Zhang, Anatoly)
Introduces support for specifying custom compression codecs on a per-column basis in ClickHouse tables.

Why it matters

Allows users to optimize storage and query performance by enabling tailored compression settings for individual columns. This feature addresses scenarios where different data types or usage patterns benefit from distinct compression algorithms, improving overall efficiency and resource utilization.

How to use it

When creating or altering a table, specify the compression codec for each column using the CODEC clause. For example:

CREATE TABLE example (
id UInt32 CODEC(ZSTD),
name String CODEC(LZ4),
data Nullable(String) CODEC(Delta, ZSTD)
) ENGINE = MergeTree() ORDER BY id;


This assigns different compression methods tailored to each column's data.