Max*_*xim 6 sql transactions web-applications
考虑一个常规Web应用程序,主要通过SQL数据库执行基于表单的CRUD操作.这种Web应用程序中是否应该有明确的事务管理?或者它应该只使用自动提交模式?如果做交易,"每个请求的交易"是否足够?
当你正在做一些实际上是事务性的事情时,我只会使用显式事务,例如,发出几个高度相关的SQL命令.我想这个典型的例子就是银行应用程序 - 从一个帐户中提取资金并将其存入另一个帐户必须始终成功或失败,否则有人会被扯掉!
我们在SO上使用交易,但只是谨慎使用.我们的大多数数据库更新都是独立的和原子的.很少有上面银行业例子的属性.
鉴于不同的用户将同时访问数据库,您应该使用事务。我建议您不要使用自动提交。使用显式事务括号。至于每笔交易的解决方案,您应该将特定的工作单元括起来(无论这在您的上下文中意味着什么)。
您可能还想了解 SQL 数据库支持的不同事务隔离级别。他们将根据阅读用户看到的部分更新的记录提供一系列行为。
归档时间: |
|
查看次数: |
2341 次 |
最近记录: |