clickhouseFINAL关键字使用

FINAL关键字

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

        注意:

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

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

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

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

posted @ 2022-04-06 16:06  渐逝的星光  阅读(7877)  评论(0)    收藏  举报