跳到主要内容
跳到主要内容

更新变更

更新突变是指通过更新操作 manipulates 表数据的 ALTER 查询。最显著的是,像 ALTER TABLE UPDATE 这样的查询。执行此类查询会生成数据片段的新突变版本。这意味着,这些语句会触发对所有在突变之前插入的数据的整个数据片段的重写,从而导致大量的写请求。

信息

对于更新,您可以通过使用专用的表引擎,如 ReplacingMergeTreeCollapsingMergeTree,来避免这些大量的写请求,而不是使用默认的 MergeTree 表引擎。

ALTER TABLE ... UPDATE 语句

操作与指定过滤表达式匹配的数据。实现为 mutation

备注

ALTER TABLE 前缀使得此语法与大多数其他支持 SQL 的系统不同。它旨在表明,与 OLTP 数据库中的类似查询不同,这是一项不设计为频繁使用的重操作。

filter_expr 必须是 UInt8 类型。此查询将指定列的值更新为 filter_expr 取非零值的行中对应表达式的值。值使用 CAST 运算符转换为列类型。不支持更新在主键或分区键计算中使用的列。

一个查询可以包含多个用逗号分隔的命令。

查询处理的同步性由 mutations_sync 设置定义。默认情况下,它是异步的。

另见