ClickHouse Prices Distributed Plans in a Cascades Memo: Work, Network and Sequential Cost
ClickHouse’s new Cascades optimizer treats a distributed query as a search problem.
ClickHouse’s new Cascades optimizer treats a distributed query as a search problem.
ClickHouse doesn’t hand you max_threads threads. It starts with one, measures how much parallel work the pipeline actually creates, and grows the pool only when idle…
ClickHouse never stores a std::string in a hash table cell. It splits keys into size classes and packs strings of up to 24 bytes into plain integers, so your GROUP BY…
If your table is sorted by the GROUP BY key, ClickHouse can skip the hash table entirely: it counts each contiguous run of equal keys and emits it.
ClickHouse’s vertical merge splits a merge into two stages: merge the key and record where each output row came from (one byte per row), then gather each payload column…