clickhouseFINAL关键字使用

FINAL关键字

     ClickHouse会在返回结果之前完全合并数据,从而执行给定表引擎合并期间发生的所有数据转换。

        注意:

            1.select语句+final的话,会对表的order字段进行排序去重。注意主键要加上分区字段(虽然跨分区不会去重,但select会合并结果)(试验过)。            

    2.在大多数情况下,避免使用 FINAL. 常见的方法是使用假设后台进程的不同查询 MergeTree 引擎还没有发生,并通过应用聚合(例如,丢弃重复项)来处理它。            

    3. join 去重表 final 这样不会去重,join (select from 去重表 final)这样才能去重。   

  分布式表可以加final,可以实现去重。 要确定好分布式表的sharding_key(一定是主键的第一个),确保相同的数据去到同一个节点。

posted @   渐逝的星光  阅读(7449)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示