当前位置:  开发笔记 > 编程语言 > 正文

删除Vertica数据库中的重复行

如何解决《删除Vertica数据库中的重复行》经验,为你挑选了1个好方法。

Vertica允许将重复项插入表中.我可以使用'analyze_constraints'函数查看它们.如何从Vertica表中删除重复的行?



1> mauro..:

您应该尝试使用具有大量记录的DELETE来避免/限制.以下方法应该更有效:

步骤1创建一个新表,其结构/投影与包含重复项的结构/投影相同:

create table mytable_new like mytable including projections ;

步骤2在这个新表中插入重复数据删除的行:

insert /* +direct */ into mytable_new select  from (
    select * , row_number() over ( partition by  ) as rownum from 
) a where a.rownum = 1 ;

步骤3重命名原始表(包含dups的表):

alter table mytable rename to mytable_orig ;

第4步重命名新表:

alter table mytable_new rename to mytable ;

就这样.

推荐阅读
乐韵答题
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有