天天看點

[20130607]PL/SQL存儲過程的commit送出問題.txt

[20130607]PL/SQL存儲過程的commit送出問題.txt

昨天在看别人寫的存儲過程的時候,發現程式代碼裡面不好的寫法,就是把commit寫在循環體内,這樣寫按照以前應該會産生很大的redo日

志,主要是redo waste也會增加,但是我在11G下測試,情況好像不一樣.

1.建立測試環境:

--對比發現時間上并沒有什麼差别,當然redo size前面幾乎比後面的大1倍,不知道為什麼這個版本redo wastage都是0.

--我記憶裡面以前在8i下做過測試,測試1應該需要許多時間.不可能這麼快完成.

4.測試3

--突然想起來10g下送出可以改成如下:

--Elapsed: 00:01:01.14.redo size=5527876-728=5527148.

5.google找到如下連結:

http://www.oracle-base.com/articles/10g/commit-10gr2.php

--我修改一點,加入commit的比較.

--很明顯commit與COMMIT WRITE WAIT一緻.