2013-01-20 384 views
9

我已閱讀說明時commit可能neccessary後select語句DB2和MySQL:後提交,選擇

Is a commit needed on a select query in DB2?

Should I commit after a single select

我的問題是什麼時候,爲什麼會是重要的在使用Oracle執行select語句後執行到commit

+0

我不是Oracle專業人員,所以也許有人對此有更多的瞭解,但我已經運行了執行大量大型select語句的腳本,最終返回了數據庫服務器的臨時空間問題。在每次選擇後提交都會消除這一點。 – woemler

回答

10

如果你做了一個SELECT ... FOR UPDATE;你需要一個COMMIT或ROLLBACK來釋放保持更新的記錄。否則,我想不出有什麼理由要這樣做。

6

只有幾個我可以想到的情況,你可能想在選擇後提交。

  1. 如果您選擇加入數據庫鏈接,將創建一個事務。如果您嘗試關閉此鏈接,除非您提交/回滾事務,否則您將收到錯誤。

  2. 選擇更新(如DCookie說)釋放鎖。

  3. 刪除序列化隔離級別(如果已設置)或添加一個,如果您在調用此命令之前從db鏈接中進行選擇。