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

相关推荐
睡不醒男孩0308234 小时前
第二篇:深入探索开源数据库高可用:构建基于CLup的PostgreSQL生产级高可用与读写分离架构
数据库·postgresql·开源·clup
Micro麦可乐6 小时前
Spring Boot 实战:从零设计一个短链系统(含完整代码与数据库设计)
数据库·spring boot·后端·哈希算法·雪花算法·短链系统
码农阿豪6 小时前
从零到一:Spring Boot快速接入金仓数据库实战
数据库·spring boot·后端
鼎讯信通6 小时前
风电光缆运维提质增效:G-4000A 光缆故障追踪仪破解风场巡检难题
运维·网络·数据库
三十..7 小时前
MySQL 从入门到高可用架构实战精要
运维·数据库·mysql
cfm_29147 小时前
Redis五大基本数据结构底层了解
数据结构·数据库·redis
真实的菜8 小时前
Redis 从入门到精通(十二):典型业务场景实战 —— 排行榜、限流器、秒杀系统、Session 共享
数据库·redis·python
你想考研啊8 小时前
mysql数据库导出导入
数据库·mysql·oracle
十年编程老舅9 小时前
Linux DRM:底层逻辑与实践架构
数据库·mysql
The Sheep 20239 小时前
Vue复习
linux·服务器·数据库