Vertica允许将重复项插入表中.我可以使用'analyze_constraints'函数查看它们.如何从Vertica表中删除重复的行?
您应该尝试使用具有大量记录的DELETE来避免/限制.以下方法应该更有效:
步骤1创建一个新表,其结构/投影与包含重复项的结构/投影相同:
create table mytable_new like mytable including projections ;
Run Code Online (Sandbox Code Playgroud)
步骤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 ;
Run Code Online (Sandbox Code Playgroud)
步骤3重命名原始表(包含dups的表):
alter table mytable rename to mytable_orig ;
Run Code Online (Sandbox Code Playgroud)
第4步重命名新表:
alter table mytable_new rename to mytable ;
Run Code Online (Sandbox Code Playgroud)
就这样.
| 归档时间: |
|
| 查看次数: |
8368 次 |
| 最近记录: |