我已經得到了腳本,但完成的執行時間約爲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