我应该在开始插入之前等待 ClickHouse 中的异步删除吗?

Sta*_*lav 0 clickhouse

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

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

Den*_*ane 6

你不需要等待。

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

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

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