需要从表中删除重复记录。表包含 33 列,其中只有PK_NUM
主键列。由于PK_NUM
包含唯一记录,我们需要考虑最小值/最大值。
- 表中记录总数:1766799022
- 表中的不同记录:69237983
- 表中重复记录:1697561039
栏目详情:
- 4:日期数据类型
- 4:数字数据类型
- 1:字符数据类型
- 24 : Varchar2 数据类型
表大小:386 GB
数据库详细信息:Oracle Database 11g EE::11.2.0.2.0 ::64bit Production
样本数据 :
- 科尔1,科尔2,科尔3
- 1,ABC,123
- 2,PQR,456
- 3,ABC,123
预期数据应仅包含 2 条记录:
- col1,col2,col3
- 1,ABC,123
- 2,PQR,456
*1 可以用 3 代替,反之亦然。
我的计划是
- 提取不同的记录并将其存储在备份表中。(即通过使用插入到选择中)
- 截断现有表并将记录从备份移动到现有表。
由于数据量巨大,
- 想知道检索不同记录的优化 sql 是什么
- 关于完成(插入选择)和截断现有表所需的任何估计。
请让我知道,如果有任何其他最好的方法来实现这一点。我的最终目标是删除重复项。