代码与DB的交易效率

时间:2009-05-13 06:15:47

标签: c# .net database

什么更有效 - 在.net代码中使用IDbTransaction或在数据库中处理它?为什么?

应该使用哪种方案?

1 个答案:

答案 0 :(得分:3)

当谈到基于连接的事务(IDbTransaction)时,整体性能应该非常相似 - 但是通过在.NET代码中处理它,您可以方便地在同一连接上跨越多个数据库操作。如果您正在进行事务管理内部 TSQL,您应该将其限制为单个TSQL查询。开始/结束可能会有额外的往返,但这不太可能伤害到你。

我手动编写基于TSQL的事务是非常罕见的(如今) - 如果我正在编写通过代理直接由服务器调用的内容(而不是来自我自己的应用程序代码)。

更大的差异在IDbTransactionTransactionScope之间,请参阅Transactions in .net了解更多信息,但简短版本是TransactionScope略慢(取决于具体情况),但可以跨越多个连接/数据库(或其他资源)。