clickhouse的更新操作注意事项

1,clickhouse的更新操作必须带有where条件

2,mutation操作适用于where筛选出大批量数据的更改

3,mutation操作是不可逆的,一旦提交,及时重启ck,也会按照system.mutations的顺序执行

4,更新操作没有原子性,提交后,立刻有返回,但是后台是异步在处理,可能在更新过程中带来数据查询的不准确

5,对于一些更新操作不合规的会一直卡着不执行,例如给int类型的字段赋值string类型的值update intvalue='abc'这样类型错误的更新语句执行不过去,那么会一直卡在这里,此时,可以使用KILL MUTATION来取消,语法:kill mutation where database='app' and table='test' // database、table是system.mutations表中的字段

6,对于一次只更新一条数据这种操作是可以,但是对服务器造成很大的压力,建议使用ReplacingMergeTree/CollapsingMergeTree间接实现单条的更新,批量更新效率高于单条更新

相关推荐
前端若水几秒前
记忆机制:短期记忆、长期记忆与向量数据库
数据库·人工智能
2301_815901971 小时前
C#怎么使用协变和逆变 C#泛型中的in和out关键字协变逆变是什么意思怎么用【语法】
jvm·数据库·python
m0_463672201 小时前
SQL优化SQL关联查询中的排序字段_减少临时空间占用与内存开销
jvm·数据库·python
我叫Double1 小时前
简易版的EINO基于redis库的向量搜索项目v2
数据库·redis·bootstrap
iuvtsrt1 小时前
存储过程如何处理海量数据的批处理_循环提交与分段LIMIT结合
jvm·数据库·python
yexuhgu1 小时前
SQL如何检查字符串是否存在:INSTR与LOCATE函数使用
jvm·数据库·python
2301_783848651 小时前
SQL如何用SQL子查询实现关联报表生成_嵌套逻辑关联多表
jvm·数据库·python
techdashen2 小时前
dial9:给 Tokio 装上“飞行记录仪“
java·数据库·redis
2501_901006472 小时前
Golang怎么用gRPC Gateway_Golang gRPC Gateway教程【经典】
jvm·数据库·python
2501_901200532 小时前
golang如何实现错误预算Error Budget计算_golang错误预算Error Budget计算实现实战
jvm·数据库·python