2009-06-25 60 views

回答

8

什麼也沒有 - 交易仍在進行中。如果您終止連接,則會回滾。

6

由於您的事務可能會鎖定數據庫的某些部分,因此您可能會導致其他事務/查詢阻塞,直到您發出其中一個命令。

在某種程度上,這種或那種方式,交易必須完成。當某些事情發生錯誤時(例如應用程序結束),它將被回滾,除非您先提交它。

1

如果應用程序退出,則連接隱式關閉並回滾。

如果應用程序在應用程序服務器(例如ASPNET,Java應用服務器等)中運行,那麼連接可能會返回到一個池,希望它在重新使用之前被重置,並且事務最終會被回滾但可能不會立即)。

如果未使用的連接位於池中,它最終可能會被應用程序服務器關閉,此時該事務肯定會回滾。

警惕保持開放的交易太久的 - 你會持有鎖(如果你改變任何東西),並從被清理停止舊行,這可能有一個數據庫非常不利的影響有很多的「攪動」。

0

如果您打開某個交易,您將最終產生不需要的行爲。如果在您的應用程序將連接返回到池時未回滾,則會有阻塞事務。 如果回滾,您的工作就會丟失。無論哪種方式,這不是你想在生產環境中的行爲。

/HåkanWinther

相關問題