2013-01-20 204 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链接中进行选择。