
🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-优快云博客
🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。
🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频
目录
对于数据的删除目前只能通过delete语句进行删除,使用delete 语句的方式删除时,每执行一次delete 都会生成一个新的数据版本,如果频繁删除会严重影响查询性能,并且在使用delete方式删除时,是通过生成一个空的rowset来记录删除条件实现,每次读取都要对删除条件进行过滤,同样在条件较多时会对性能造成影响。
我们可以使用批量删除方式来解决以上问题,批量删除只针对Unique模型的存储表。
1. 批量删除原理
目前Doris 支持 Broker Load,Routine Load, Stream Load 等多种导入方式,针对一张已经存在的Unique表,通过不同的导入方式向表中增加数据时,导入的数据有三种合并方式:
- APPEND: 数据全部追加到现有数据中【默认】;
- DELETE: 删除所有与导入数据key 列值相同的行(当表存在sequence列时,需要同时满足主键相同以及sequence列的大小逻辑才能正确删除)

本文详细介绍了Apache Doris的批量删除原理和案例,针对Unique表,通过Broker Load、Routine Load、Stream Load等方式导入数据时,指定DELETE模式实现数据删除。批量删除能有效解决频繁删除对查询性能的影响,特别是对于Unique模型的表,通过隐藏列__DORIS_DELETE_SIGN__进行数据标记,确保只显示未被删除的数据。
订阅专栏 解锁全文
1616

被折叠的 条评论
为什么被折叠?



