PL/SQL forall 루프가 특정 간격으로 자동으로 커밋되거나 루프 이후에 커밋해야합니까?PL/SQL에서 forall 루프를 실행할 때 나중에 커밋해야합니까?
오라클 10g 및 11g
FORALL i IN x.FIRST .. x.LAST
delete from table where 1=1;
나는 현재 대량 수집 않는 PL/SQL 스크립트를 가지고, 다음 컬렉션을 반복 루프 FORALL 3 가지 실행했습니다. 현재 forall 루프가 완료된 후 스크립트의 commit 문을 사용하여 커밋을하고 있습니다. 필요한 것인가? 특히 컬렉션에 수백만 항목이있을 때 실행 속도가 느려 집니까?
감사합니다.
나는 당신이 당신의 대답에서 말하는 모든 것에 동의하지만 나는 그 질문에 완전히 대답하지 않는다고 생각합니다. FORALL 문 다음에 커밋하는 것은 필수적인 것은 아닙니다. 나중에 커밋 할 수 있으며 트랜잭션이 끝나기 전에 커밋하지 않아야합니다. –
+1 "FORALL is a loop" –