<分区>
您对数据库事务的依赖程度如何?
您更喜欢小型还是大型事务范围?
您是否更喜欢客户端事务处理(例如 .NET 中的 TransactionScope)而不是服务器 副交易或反之亦然?
嵌套事务呢?
您有一些与交易相关的提示和技巧吗?
您在处理事务时遇到过什么问题吗?
欢迎各种回答。
<分区>
您对数据库事务的依赖程度如何?
您更喜欢小型还是大型事务范围?
您是否更喜欢客户端事务处理(例如 .NET 中的 TransactionScope)而不是服务器 副交易或反之亦然?
嵌套事务呢?
您有一些与交易相关的提示和技巧吗?
您在处理事务时遇到过什么问题吗?
欢迎各种回答。
最佳答案
我总是将事务包装在 using 语句中。
using(IDbTransaction transaction )
{
// logic goes here.
transaction.Commit();
}
一旦事务移出范围,它就会被处理掉。如果事务仍处于事件状态,则将其回滚。这种行为可以防止您意外锁定数据库。即使抛出未处理的异常,事务仍然会回滚。
在我的代码中,我实际上省略了显式回滚并依靠 using 语句为我完成工作。我只明确地执行提交。
我发现这种模式大大减少了记录锁定问题。
关于database - 交易最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39583/