我已经得到了脚本,但完成的执行时间约为5分钟以删除11320860条记录。是否有替代方式来编写此查询,以便减少执行时间?从一个条件删除Oracle数据库中的重复行
情景是相同的记录组合可以有E以及A记录。如果同一个组合至少存在一条E记录,代码试图删除A和E记录。
Delete from tableA u
WHERE EXISTS
(Select 1 from tableA w
WHERE w.a = u.a
AND w.b = u.b
AND w.c = u.c
AND w.d = u.d
AND w.flag ='E'); - Del about 11320860 records in 4 Mins
为什么不干脆,'从表A,其中标志= 'E' 删除; '你的查询会产生不必要的开销 –
你可以使用合并 – GurV
情景是相同的记录组合可以有E以及A记录。如果同一个组合至少存在一条E记录,代码试图删除A和E记录。 – Harshil