知其然,知其所以然
ClickHouse 内部原理 2026-09-25

Query Pipeline:查询如何拆成多个处理器

用 EXPLAIN PIPELINE 加真实改 max_threads,看同一条聚合查询的处理器流水线真实是怎么随线程数从1条变成8条并行分支的,以及并行分支多了之后耗时的真实变化。

ClickHouse 真实验证 动画演示
ClickHouse 内部原理 2026-09-25

Block:ClickHouse 为什么不逐行传递数据

用 clickhouse-client 的 Native 格式真实导出一份原始字节流,逐字节解码出 ClickHouse 内部真正传递的最小单位——Block:一份列名、一份类型、然后每一列的值各自连续排列在一起。

ClickHouse 真实验证 动画演示
ClickHouse 内部原理 2026-09-25

MergeTree 家族到底解决了什么

真实往 MergeTree、ReplacingMergeTree、SummingMergeTree 里写入同样的重复数据,对比 OPTIMIZE FINAL 前后的真实结果,再验证 SELECT ... FINAL 和物理合并的真实区别。

ClickHouse 真实验证 动画演示
ClickHouse 内部原理 2026-09-25

ORDER BY、Primary Key 和 Partition Key 的区别

真实建一张30万行、按月分区、按region+uid排序的表,用三种不同的WHERE条件真实对比read_rows,看ORDER BY前缀过滤、非索引列过滤、分区裁剪这三种情况真实读了多少数据。

ClickHouse 真实验证 动画演示
ClickHouse 内部原理 2026-09-25

Sparse Primary Index:ClickHouse 为什么索引不是每行一个

真实建两张200万行的表,一张用默认的index_granularity=8192,一张调到128,用真实的marks_bytes和point query的read_rows,看稀疏索引到底稀疏在哪、代价换来了什么。

ClickHouse 真实验证 动画演示
ClickHouse 内部原理 2026-09-25

Data Part:一次 INSERT 到底生成了什么文件

真实执行一次INSERT,直接ls磁盘上生成的part目录,逐个文件看清楚checksums.txt、columns.txt、count.txt都装了什么,再对比Compact和Wide两种part格式真实的文件差异。

ClickHouse 真实验证 动画演示
京ICP备2026067502号-1京公网安备11010502063487号