什么有更好的表现?
像这样删除:
DELETE FROM users WHERE attr IN (SELECT * FROM TABLE(attrs));
或像这样的FORALL:
FORALL i IN 1..attrs.COUNT DELETE FROM users WHERE attr = attrs(i);
答案 0 :(得分:0)
单DELETE
更快,更合适。 OP可能忽略了可以使用简单的DELETE
一次删除多个记录。
FORALL DELETE
比DELETE
内的FOR LOOP
好,它可以避免在PL / SQL和SQL之间切换上下文。实际上, FORALL
使用BULK BINDING