ClickHouse's LowCardinality Column: One Dictionary, Millions of Rows
A LowCardinality column stores one byte per row instead of a whole string, because every block in a part points at the same dictionary — capped at 8192 keys and flushed when it …
A LowCardinality column stores one byte per row instead of a whole string, because every block in a part points at the same dictionary — capped at 8192 keys and flushed when it …
ClickHouse caches the granules a predicate emptied, so a dashboard that runs the same query every 30 seconds stops paying for index analysis and skipped data.
ClickHouse caches query results by hashing the parsed query, not the text you typed, plus the settings and database that could change the answer.
A Variant column is a struct of arrays — one sub-column per alternative, one tag byte per row, one offset per row.
Every ClickHouse column is one flat PODArray, padded 64 bytes on both sides.