我正在用表突变更新一个表,如下所示:
ALTER TABLE T1
UPDATE column1 = replaceAll('X', 'Y')
在那之后,我要 optimize-final
命令 clickhouse-client
这样地:
OPTIMIZE TABLE T1 FINAL
Ok.
0 rows in set. Elapsed: 0.002 sec.
但它马上就回来了( 0.002 sec.
)我可以看到行还没有更新。
几秒钟后(10-50),我运行 optimize-final
命令,但这次它将挂起,直到表得到优化。
这是我们的预期行为吗 optimize-final
?
1条答案
按热度按时间guicsvcw1#
我可以看到行还没有更新。
ALTER TABLE T1 UPDATE
--异步你应该检查一下
select count() from system.mutations where not is_done;
你的变异完成了。在下一个版本中,您可以同步运行突变
ALTER TABLE T1 UPDATE column1 = replaceAll('X', 'Y') SETTINGS mutations_sync = 2
“u sync,0”,等待同步执行alter table update/delete查询(突变)。0-异步执行。1-等待当前服务器。2-等待所有副本(如果存在)。优化t1最终表
优化--
merge
与突变无关。集合中有0行。已用时间:0.002秒。
在某些情况下
OPTIMIZE
无法启动并立即返回使用optimize\u throw\u if\u noop查找原因