Clichouse 查询某更新删除SQL语句是否执行成功
ClickHouse 中更新数据的语句是异步执行的,应用并不知道 ClickHouse 何时能更新数据,如果要做到强一致性,需要应用反查确认。可以通过下面的语句查询具体删除或更新操作的执行情况:
select database,table,mutation_id,command,create_time,block_numbers.number, is_done
from system.mutations
where table=‘表名’;
1
2
3
其中,is_done为1表示执行完成。
ClickHouse 中system.mutations表用于记录所有的mutations记录,其中关键字段is_done,用于记录该mutation是否执行,0表示未执行,1表示已执行。其他字段的含义如下:
database:数据库名称。
table:表名。
mutation_id:每次mutation操作的唯一标识符。
command:具体的mutation操作,如ALTER TABLE … DELETE或ALTER TABLE … UPDATE。
create_time:mutation操作的创建时间。
block_numbers.number:mutation操作所涉及的数据块数量。
is_done:mutation操作是否已完成,0表示未完成,1表示已完成。