考虑一个常规Web应用程序,主要通过SQL数据库执行基于表单的CRUD操作.这种Web应用程序中是否应该有明确的事务管理?或者它应该只使用自动提交模式?如果做交易,"每个请求的交易"是否足够?
当你正在做一些实际上是事务性的事情时,我只会使用显式事务,例如,发出几个高度相关的SQL命令.我想这个典型的例子就是银行应用程序 - 从一个帐户中提取资金并将其存入另一个帐户必须始终成功或失败,否则有人会被扯掉!
我们在SO上使用交易,但只是谨慎使用.我们的大多数数据库更新都是独立的和原子的.很少有上面银行业例子的属性.