首页/数据/数仓建模速查/ReplacingMergeTree 去重与 FINAL
湖仓与引擎63 条

ReplacingMergeTree 去重与 FINAL

ReplacingMergeTree 后台合并时按排序键去重保留版本号较大的那一行;查询加 FINAL 可强制去重,但会牺牲并行度与性能。

数仓建模速查数据更新于 2026-10-12
去重键ORDER BY 列
版本可指定版本列
FINAL查询强制去重
替代按版本过滤

按版本取最新

按版本取最新
SELECT store_id, store_name
FROM (
  SELECT store_id, store_name,
         row_number() OVER (PARTITION BY store_id ORDER BY version DESC) AS rn
  FROM dw.dim_store
)
WHERE rn = 1;
高频查询的表尽量避免一直用 FINAL,可在入仓前先去重到最新态。

易错点

  • 依赖 FINAL 做去重,查询性能随数据量下降

数据来源与参考

  • ClickHouse 官方文档:ReplacingMergeTree
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌