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

ClickHouse 聚合为什么快

本机真实对比多线程(10核)和单线程GROUP BY在2000万行上的耗时,测出约1.5~2倍加速比,结合本系列已验证的向量化执行和列式存储机制说明聚合快的真实根本原因。

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

Two-Level Aggregation:大数据量聚合如何拆分

本机真实对比低基数和高基数GROUP BY的profile事件,途中发现老资料的事件名已过时,找到本机版本真实生效的AggregationConvertedToTwoLevel和AdaptiveAggregation新机制。

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

Aggregate Function State:聚合结果为什么可以保存

本机真实用AggregatingMergeTree存avgState中间状态,验证跨part合并的正确性,并对比avg与quantile两种聚合函数state体积相差5465倍的真实差异。

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

GROUP BY 内存爆炸时发生了什么

本机真实建一张3000万行、极端高基数(全部唯一)的表,触发GROUP BY内存超限报错,并测出默认设置下真实用了约1.02GB内存,约34字节/分组。

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

External Group By:内存放不下时如何落盘

本机真实开启external_group_by落盘阈值,把同一条GROUP BY的内存从1.02GB降到290MB,并验证内存预算给得不够时会在聚合阶段或读回归并阶段分别真实报错。

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

ORDER BY 排序内存放不下怎么办

本机真实尝试用多组配置触发ORDER BY落盘,诚实记录未能复现出像External Group By那样清晰的落盘证据,只用EXPLAIN PIPELINE确认了真实的排序执行节点。

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

TopK:LIMIT 和近似 TopK 的差别

本机真实对比精确TopK和近似topK()函数,内存相差565倍,但诚实展示了头部访问量势均力敌时近似算法给出不同排名的真实代价。

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

ClickHouse JOIN 的几种算法

本机真实EXPLAIN一条JOIN看到join_algorithm是优先级列表,默认选中SpillingHashJoin,并意外测出partial_merge在已排序表上比hash快且省10倍内存。

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

Hash Join 为什么容易占满内存

本机真实让一张500万行大payload的表做hash JOIN右表,触发FillingRightJoinSide阶段的内存超限报错,验证内存开销真实只跟右表大小成正比。

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

Grace Hash Join:JOIN 如何使用磁盘

本机真实用同一条撞爆内存的JOIN对比hash和grace_hash算法,200MB内存上限下hash失败而grace_hash真实通过分桶把内存需求降了约一半,成功完成。

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

字典 JOIN:为什么有时比普通 JOIN 更快

本机真实对比dictGet、普通JOIN、direct算法三种字典查找方式,dictGet和direct都比普通JOIN省4~5倍内存,但真实发现省内存不等于更快,direct算法内存最省却耗时最长。

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

IN 子查询和 JOIN 到底怎么选

本机真实对比WHERE IN子查询和等价JOIN写法,IN子查询走CreatingSets专用Set结构更轻量,验证了两者是为不同目的设计的不同工具而非可随意互换的写法。

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