网易首页 > 网易号 > 正文 申请入驻

ClickHouse的FINAL查询,终于不再那么贵了

0
分享至

如果你用过ClickHouse,大概率听过这条铁律:能不用FINAL就别用。这个建议流传了很多年,而且说实话,它曾经很有道理。老版本的ClickHouse里,FINAL查询的成本可能高得吓人——表越大、分区越多、碎片越乱、合并越滞后,查询就越慢。于是FINAL几乎成了性能问题的代名词,看到就想绕路走。

但现在的ClickHouse已经变了。FINAL的实现方式改进了太多,以至于我们可能需要重新聊聊这个话题。


先搞清楚FINAL到底是干什么的。在ReplacingMergeTree、CollapsingMergeTree、VersionedCollapsingMergeTree这些引擎里,ClickHouse不会当场覆盖旧数据。插入操作创建新数据片段,后台合并任务慢慢去重,去重是异步发生的。这意味着查询时你可能看到重复版本、旧版本、中间状态。FINAL的作用就是强制在查询执行时完成合并逻辑——代价是多读数据、多做去重、多消耗CPU和内存。这就是老版本劝退FINAL的根本原因。


以前的问题有多严重?分区太大、碎片太多、合并跟不上、查询扫描范围太广,任何一个因素都能让FINAL变成性能杀手。很多人不加思考地往查询里塞FINAL来"修复"重复数据,结果查询变慢、内存暴涨、开销失控。社区的建议于是变成:好好设计表结构,能不用就不用。

这条建议现在依然成立。但FINAL本身的实现已经脱胎换骨。

近几年的ClickHouse版本给FINAL加了一堆优化:并行执行、分区感知优化、内存行为改进、更聪明的合并策略、减少无效读取。FINAL不再是以前的性能怪兽了。甚至在一些最近的社区讨论里,用FINAL做最新状态查询已经不再被自动视为错误——搁几年前这话会很有争议。

很多人以前用argMax来绕过FINAL,比如:


SELECT id, argMax(status, version) FROM users GROUP BY id;

在老版本和大数据量场景下,这招确实常管用。但现在FINAL改进够大,两者的权衡已经不再一边倒。某些最新状态查询场景下,FINAL甚至可能更干净、更易维护。

当然,这不是说FINAL可以随便滥用。表设计依然是第一位的。但如果你的场景确实需要保证查询时的数据一致性,FINAL现在是个值得重新考虑的选项,而不是条件反射式地回避。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
特朗普称中方同意购买200架波音飞机,外交部:中美经贸关系本质是互利共赢

特朗普称中方同意购买200架波音飞机,外交部:中美经贸关系本质是互利共赢

澎湃新闻
2026-05-15 15:30:35
特朗普结束访华,大赞中南海景致:若待得惯都不想走

特朗普结束访华,大赞中南海景致:若待得惯都不想走

澎湃新闻
2026-05-15 18:28:12
14岁男孩上午被银环蛇咬伤 出现手脚麻痹 眼睛模糊误认为是近视 淡定上完上午课程后才就医

14岁男孩上午被银环蛇咬伤 出现手脚麻痹 眼睛模糊误认为是近视 淡定上完上午课程后才就医

闪电新闻
2026-05-15 12:33:44
三角连体服引争议!28岁田径美女回应:不是穿给你看的 眼光低俗

三角连体服引争议!28岁田径美女回应:不是穿给你看的 眼光低俗

念洲
2026-05-14 14:28:32
渔船里俘虏两个上校,科威特捏住伊朗最高级战俘,德黑兰干什么呢

渔船里俘虏两个上校,科威特捏住伊朗最高级战俘,德黑兰干什么呢

寰球经纬所
2026-05-15 10:11:40
赖清德最新民调惨淡!51%台湾民众对其施政没信心,不满持续高涨

赖清德最新民调惨淡!51%台湾民众对其施政没信心,不满持续高涨

海峡导报社
2026-05-14 18:04:47
马斯克访华像回家,母亲已长住上海,儿子身价万亿她还做视频带货

马斯克访华像回家,母亲已长住上海,儿子身价万亿她还做视频带货

青橘罐头
2026-05-15 14:22:09
实力至上!马斯克只尊重有实力的朋友,看他怎么对待雷军和马云的

实力至上!马斯克只尊重有实力的朋友,看他怎么对待雷军和马云的

南方健哥
2026-05-15 12:23:17
悲催!网传四川一贸易公司半夜倒闭,工资马上发,员工哭诉失业了

悲催!网传四川一贸易公司半夜倒闭,工资马上发,员工哭诉失业了

火山詩话
2026-05-15 14:45:12
戛纳红毯第二弹!章泽天好美,袁姗姗吓我一跳,周也没扛住生图

戛纳红毯第二弹!章泽天好美,袁姗姗吓我一跳,周也没扛住生图

八卦南风
2026-05-15 15:58:56
嫁给黄仁勋38年,一双儿女都是公司总监,如今在美国生活安享晚年

嫁给黄仁勋38年,一双儿女都是公司总监,如今在美国生活安享晚年

秋姐居
2026-05-15 14:19:43
保时捷中国高管喊话被抄袭无奈,罗永浩怒怼:论流氓谁能跟保时捷比,新能源抄了保时捷的,不是只有那个谁和那个谁吗

保时捷中国高管喊话被抄袭无奈,罗永浩怒怼:论流氓谁能跟保时捷比,新能源抄了保时捷的,不是只有那个谁和那个谁吗

大风新闻
2026-05-15 12:21:07
中美会谈已结束,特朗普专机已离京,黄仁勋说了一句不寻常的话

中美会谈已结束,特朗普专机已离京,黄仁勋说了一句不寻常的话

麓谷隐士
2026-05-15 10:16:15
翁帆现状:丈夫去世7个月,与老友相聚红光满面,继子继女都不在

翁帆现状:丈夫去世7个月,与老友相聚红光满面,继子继女都不在

揽星河的笔记
2026-05-15 13:55:54
燃油车再次迎降价,最大跌幅达50%,老车主又被“背刺”了

燃油车再次迎降价,最大跌幅达50%,老车主又被“背刺”了

小谈食刻美食
2026-05-15 07:34:32
海底捞烫伤事件:孩子乱跑,服务员提醒了三次,嚣张指了店长三次

海底捞烫伤事件:孩子乱跑,服务员提醒了三次,嚣张指了店长三次

观察鉴娱
2026-05-15 14:37:57
瞒了近三个月,内塔尼亚胡终于说出实情:没料到伊朗敢做到这一步

瞒了近三个月,内塔尼亚胡终于说出实情:没料到伊朗敢做到这一步

空天力量
2026-05-15 13:16:58
马斯克转发库克、雷军和他合照帖!称在北京干着“马斯克式”的事

马斯克转发库克、雷军和他合照帖!称在北京干着“马斯克式”的事

火山詩话
2026-05-15 16:14:20
特朗普CEO天团访华,大佬们第一学历大起底

特朗普CEO天团访华,大佬们第一学历大起底

老郭在学习
2026-05-15 15:47:24
濮阳17岁小伙找到!遗体在河里漂8天,知情人发声,自杀恐是必然

濮阳17岁小伙找到!遗体在河里漂8天,知情人发声,自杀恐是必然

奇思妙想草叶君
2026-05-15 11:09:57
2026-05-15 19:35:00
摸鱼算法
摸鱼算法
致力于用最前沿的AI技术,换取更多发呆时间的三十岁青年。
2822文章数 26关注度
往期回顾 全部

科技要闻

两年联姻一地鸡毛,传苹果OpenAI濒临决裂

头条要闻

媒体:中美元首会晤"刷屏" 特朗普用3个词谈中美关系

头条要闻

媒体:中美元首会晤"刷屏" 特朗普用3个词谈中美关系

体育要闻

德约科维奇买的球队,从第6级联赛升入法甲

娱乐要闻

方媛为何要来《桃花坞6》没苦硬吃?

财经要闻

腾讯掉队,马化腾戳破真相

汽车要闻

高尔夫GTI刷新纽北纪录 ID. Polo GTI迎全球首秀

态度原创

房产
家居
游戏
本地
公开课

房产要闻

海口商业也是出息了!“友谊阳光城”,杀入北京最牛商街!

家居要闻

110㎡淡而有致的生活表达

丧尸生存FPS游戏《毒液突击队》将迎来重磅更新

本地新闻

用苏绣的方式,打开江西婺源

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版