C# 在数据库之外实现事务的缺点是什么?

C# 在数据库之外实现事务的缺点是什么?,c#,.net,sql-server,transactions,C#,.net,Sql Server,Transactions,我们知道,有些场景要求我们在代码中实现事务,例如.Net framework中的SqlTransaction/TransactionScope。问题是: (除此之外)管理费用是多少 速度 如果我们增加更多,情况会变得更糟吗 事务和数据库之间的层 DB?如果是的话,那么问题是什么 管理费用以及这些费用的原因是什么 日常开支 我们希望缩短交易时间,尽可能晚地开始交易,并尽可能早地结束交易。否则并发性会受到影响,我们会得到更多的锁等待和死锁。长时间运行的事务也会导致事务日志被填满 在事务和数据库本身之

我们知道,有些场景要求我们在代码中实现事务,例如.Net framework中的
SqlTransaction
/
TransactionScope
。问题是:

  • (除此之外)管理费用是多少 速度
  • 如果我们增加更多,情况会变得更糟吗 事务和数据库之间的层 DB?如果是的话,那么问题是什么 管理费用以及这些费用的原因是什么 日常开支

  • 我们希望缩短交易时间,尽可能晚地开始交易,并尽可能早地结束交易。否则并发性会受到影响,我们会得到更多的锁等待和死锁。

    长时间运行的事务也会导致事务日志被填满


    在事务和数据库本身之间添加更多的层不会增加事务的开销,但会增加出错的可能性,并使事务处于未提交状态和长时间运行的事务

    您指的是哪一层,以及这将如何增加出错的可能性?