Vertica 允许将重复项插入到表中。我可以使用 'analyze_constraints' 函数查看那些。
如何从 Vertica 表中删除重复的行?
最佳答案
您应该尽量避免/限制对大量记录使用 DELETE。以下方法应该更有效:
步骤 1 创建一个与包含重复项的表具有相同结构/投影的新表:
create table mytable_new like mytable including projections ;
步骤 2 将重复数据删除的行插入到这个新表中:
insert /* +direct */ into mytable_new select <column list> from (
select * , row_number() over ( partition by <pk column list> ) as rownum from <table-name>
) a where a.rownum = 1 ;
步骤 3 重命名原始表(包含重复的表):
alter table mytable rename to mytable_orig ;
第 4 步 重命名新表:
alter table mytable_new rename to mytable ;
就这样。
关于vertica - 删除 Vertica 数据库中的重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17200239/