查询优化器既要了解数据的整体分布,也要识别少量高频值,否则就可能在 JOIN 顺序、扫描策略和算子选择上做出错误判断。本文结合 Databend 的实现与 Benchmark,介绍 KLL、Top-N 和 Count-Min Sketch(CMS)如何分工协作:KLL 以较低内存开销构建近似等深直方图,Top-N 精确记录最常见值,CMS 则补足未被 Top-N 保留的热点。适合数据库内核、查询优化器、数据平台及性能工程师阅读,预计阅读时间 12 分钟。