【问题标题】:Why FINAL modifier doesn't trigger Clickhouse's merging procedure为什么 FINAL 修饰符不会触发 Clickhouse 的合并程序
【发布时间】:2022-08-07 19:25:35
【问题描述】:

Clickhouse 中有一个 ReplacingMergeTree 表,当执行 select count(1) from tbl 时,它产生 71961920。然后我执行 select count(1) from tbl FINAL 尝试触发合并过程,如 the official document 中所述:

但事实证明,在使用FINAL 运行上述sql 之后,没有FINAL 的sql 仍然会产生“错误”结果,就好像它根本没有被合并一样。谁能帮忙解释一下?谢谢~

  • select 不会更改磁盘上的数据,不会启动优化(合并)。
  • 数据被合并——是关于在 SELECT 中的选择处理期间合并相关数据。

标签: clickhouse


【解决方案1】:

为了强制 clickhouse 合并表格,请使用 OPTIMIZE 关键字。 https://clickhouse.com/docs/en/sql-reference/statements/optimize/

但请记住:虽然您可以使用 OPTIMIZE 查询运行计划外的合并,但不要指望使用它,因为 OPTIMIZE 查询会读取和写入大量数据。- ClickHouse ReplacingMergeTree

【讨论】:

    猜你喜欢
    • 2013-05-19
    • 1970-01-01
    • 2015-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多