首页 > 解决方案 > 在开始插入之前我应该​​等待 ClickHouse 中的异步删除吗?

问题描述

我需要在 ClickHouse 中重新加载最后一天的数据。我的想法是使用 ALTER TABLE DELETE 语句删除最后一天的行,然后插入更新的行。

我已经在文档中找到:“突变也使用 INSERT INTO 查询进行部分排序:在提交突变之前插入到表中的数据将被突变,之后插入的数据不会被突变。” 但是我不明白这句话。那么我应该在开始插入之前等待异步删除过程结束,还是可以立即开始插入?知道复制和不复制两种情况的答案很有趣。

标签: clickhouse

解决方案


你不需要等待。

当提交变异时,CH 服务器创建并保存应该变异的部分列表。您可以在system.mutations block_numbers.partition_id列中看到此列表。之后Alter将控件返回给客户端。

新插件(零件)不在此列表中,因为它们尚未创建。

突变本身稍后开始,异步并处理存储列表中的部分。


推荐阅读