doris:主键模型的 Update 更新

主要讲述如何使用 Update 命令来更新 Doris 中的数据。Update 命令仅适用于 Unique 数据模型的表。

适用场景

  • 小范围数据更新:适用于更新少量数据的场景,例如修复某些记录中的错误字段,或更新某些字段的状态(如订单状态更新等)。

  • ETL 批量加工部分字段:适用于大批量更新某个字段,常见于 ETL 加工场景。注意:大范围数据更新仅适合低频调用。

基本原理

利用查询引擎自身的 where 过滤逻辑,从待更新表中筛选出需要被更新的行。再利用 Unique 模型自带的 Value 列新数据替换旧数据的逻辑,将待更新的行变更后重新插入到表中,从而实现行级别更新。

同步

Update 语法在 Doris 中是一个同步语法,即 Update 语句执行成功,更新操作也就完成了,数据是可见的。

性能

Update 语句的性能和待更新的行数以及条件的检索效率密切相关。

  • 待更新的行数:待更新的行数越多,Update 语句的速度就会越慢。 对于小范围更新,Doris支持的频率与INSERT INTO语句类似, 对于大范围更新,由于单个update执行的时间较长, 仅适用于低频调用。

  • 查询条件的检索效率:Update 实现原理是先将满足查询条件的行做读取处理,所以如果查询条件的检索效率高,则 Update 的速度也会快。条件列最好能命中索引或者分区分桶裁剪,这样 Doris 就不需要扫全表,可以快速定位到需要更新的行,从而提升更新效率。强烈不推荐条件列中包含 value 列。

使用示例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值