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间接实现单条的更新,批量更新效率高于单条更新

相关推荐
Tansmjs几秒前
使用Python自动收发邮件
jvm·数据库·python
m0_561359673 分钟前
用Python监控系统日志并发送警报
jvm·数据库·python
Dxy123931021614 分钟前
MySQL INSERT ... ON DUPLICATE KEY UPDATE 与非主键唯一字段
数据库·mysql
zhousenshan35 分钟前
springboot事务管理几种方式
数据库
布局呆星1 小时前
SQLite数据库的介绍与使用
数据库·python
2401_838472511 小时前
用Python和Twilio构建短信通知系统
jvm·数据库·python
石头wang1 小时前
oracle jdbc 依赖以及对dbeaver的性能影响,如何选择oracle驱动, oracle jdbc 驱动
数据库·oracle
weixin_452159551 小时前
如何从Python初学者进阶为专家?
jvm·数据库·python
2301_790300962 小时前
用Python读取和处理NASA公开API数据
jvm·数据库·python
万象.2 小时前
redis持久化:AOF和RDB
数据库·redis·缓存