database - 交易最佳实践

标签 database architecture transactions

<分区>

您对数据库事务的依赖程度如何?

您更喜欢小型还是大型事务范围?

您是否更喜欢客户端事务处理(例如 .NET 中的 TransactionScope)而不是服务器 副交易或反之亦然?

嵌套事务呢?

您有一些与交易相关的提示和技巧吗?

您在处理事务时遇到过什么问题吗?

欢迎各种回答。

最佳答案

我总是将事务包装在 using 语句中。

using(IDbTransaction transaction )
{
// logic goes here.
   transaction.Commit();
}

一旦事务移出范围,它就会被处理掉。如果事务仍处于事件状态,则将其回滚。这种行为可以防止您意外锁定数据库。即使抛出未处理的异常,事务仍然会回滚。

在我的代码中,我实际上省略了显式回滚并依靠 using 语句为我完成工作。我只明确地执行提交。

我发现这种模式大大减少了记录锁定问题。

关于database - 交易最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39583/

相关文章:

python - 如何管理查询中的并发?

database - 有什么理由不应该在生产中使用 h2 数据库吗?

java - 安卓好的架构

php - 将事务用于具有相关结果的查询

java - JPA 中的事务同步与事务关联

mysql - 使用 Debezium 确定交易结束

php - MySQL 选择逻辑

php - 将商品和子商品插入订单

java - 传输对象、Spring MVC、架构

java - 验证 Jpa 实体 : In service or by lifecycle listeners