系统表 system.mutations 用于存储正在进行的数据变更操作(如 UPDATE、DELETE、ALTER)的信息。
字段名称 | 数据类型 | 字段含义说明 |
|---|---|---|
database | String | 变更操作所属的数据库名称。 |
table | String | 变更操作对应的表名称。 |
mutation_id | String | 变更的 ID。
|
query_id | UUID | 触发变更操作的查询 UUID。 |
command | String | 具体的变更命令内容( |
create_time | DateTime | 变更命令提交执行的日期和时间。 |
cnch | UInt8 | 是否为 Cnch 引擎表的变更标识。
|
block_numbers.partition_id | Array(String) | 对于复制表,数组包含分区的 ID(每个分区一个记录)。对于非复制表,该值为空。 |
block_numbers.number | Arrart(Int64) | 对于复制表,数组为每个分区包含一个记录,记录显示变更获得的区块编号。只有包含小于该编号的区块的部分将会在该分区内被变更。 |
parts_to_do_names | Array(String) | 待处理的分片名称数组(尚未完成变更的分片) |
parts_to_do | Int64 | 待处理的分片总数,用于计算进度。 |
is_done | UInt8 | 变更操作的完成状态:
|
latest_failed_part | String | 最近无法变更的分片名称。 |
latest_fail_time | DateTime | 最近的部分变更失败的日期和时间。 |
latest_fail_reason | String | 导致最近部分变更失败的异常消息。 |
settings | String | 执行变更操作时使用的会话设置。 |
查询指定表的变更情况:
SELECT database, table, mutation_id, create_time, command FROM system.mutations WHERE database = 'sales_db' AND table = 'order_details_test' ORDER BY create_time DESC;
查询结果示例: