专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

数据删除——ApachDoris 数据删除是什么意思

ins518 2024-10-15 13:10:40 技术文章 11 ℃ 0 评论

Apach Doris表的数据删除

作为一个高性能的MPP数据,查询效率非常快,但是对于数据的删除,跟Oracle、Vertica等数据库相比,可用性和灵活性差距都很大,由于 Doris 是一个分析数据库,所以删除不能过于频繁,限制性很大.

Doris的Delete有两种模式:

第一种用法:

DELETE FROM table_name [table_alias]

[PARTITION partition_name | PARTITIONS (partition_name [, partition_name])]

WHERE column_name op { value | value_list } [ AND column_name op { value | value_list } ...];

Doris 该语法只能指定过滤谓词

案例:

create table LOCAL.temp

( id int,

c1 int

)

distributed by hash(id)

;

insert into LOCAL.temp values(1,1);

insert into LOCAL.temp values(1,2);

insert into LOCAL.temp values(1,3);

delete from LOCAL.temp where c1

第二种用法:

DELETE FROM table_name [table_alias]

[PARTITION partition_name | PARTITIONS (partition_name [, partition_name])]

[USING additional_tables]

WHERE condition

Doris 该语法只能在 UNIQUE KEY 模型表上使用。

案例:

create table LOCAL.temp

( id int,

c1 int

)

unique key (id,c1)

distributed by hash(id,c1);

insert into LOCAL.temp values(1,1);

insert into LOCAL.temp values(1,2);

insert into LOCAL.temp values(1,3);

delete from LOCAL.temp a

using (select max(c1) as c1 from LOCAL.temp) b

where a.c1

;

第二个案例中,如果unique key只包含了id,没有包含c1,那么 中间的三个inert语句实际只有最后一个语句是有效的,最后一个insert语句会覆盖前面两个语句。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表