3
我们知道有一些场景要求我们在代码中实现交易,例如在.Net框架中使用SqlTransaction
/TransactionScope
。问题是:远离数据库实施交易有什么缺点?
- 什么是开销(除了 速度)?
- 如果我们在交易和 数据库之间添加更多 层,它会变得更糟吗?如果是的话,那么 的开销是多少以及是什么导致这些开销?
我们知道有一些场景要求我们在代码中实现交易,例如在.Net框架中使用SqlTransaction
/TransactionScope
。问题是:远离数据库实施交易有什么缺点?
我们希望保持交易简短,尽早开始并尽早结束交易。否则并发会受到影响,我们会得到更多的锁等待和死锁。
长时间运行事务也可能导致事务日志填满。
在事务和数据库本身之间添加更多层并不会增加事务开销,但会增加发生错误的可能性并导致事务未提交和长时间运行的事务。
你指的是哪一层,怎么会增加出现错误的可能性? – 2011-10-16 20:23:41