Sql server 对于更便宜/更快的无写事务:提交还是回滚?
我使用sql事务作为Applock和其他并发机制的容器,因此我有时在不同的隔离级别创建事务,这些事务只读取数据,不写入数据。我相信在这些情况下,从逻辑上讲,提交和回滚具有相同的结果 出于性能方面的原因,我想知道哪一个服务器执行起来更便宜/更快?是否需要针对提交情况进行优化的不可避免的簿记,以及即使没有写操作,回滚的额外开销?无论哪种情况,锁都将被释放 如果这不重要,那么我就不必在.NET TransactionScope代码中添加不必要的作用域。Complete,这可能会使我在查看一个显然是只读操作的代码时感到犹豫Sql server 对于更便宜/更快的无写事务:提交还是回滚?,sql-server,sql-server-2008,ado.net,transactions,transactionscope,Sql Server,Sql Server 2008,Ado.net,Transactions,Transactionscope,我使用sql事务作为Applock和其他并发机制的容器,因此我有时在不同的隔离级别创建事务,这些事务只读取数据,不写入数据。我相信在这些情况下,从逻辑上讲,提交和回滚具有相同的结果 出于性能方面的原因,我想知道哪一个服务器执行起来更便宜/更快?是否需要针对提交情况进行优化的不可避免的簿记,以及即使没有写操作,回滚的额外开销?无论哪种情况,锁都将被释放 如果这不重要,那么我就不必在.NET TransactionScope代码中添加不必要的作用域。Complete,这可能会使我在查看一个显然是只读
谢谢 因为您没有写任何东西,所以应该选择提交,因为它除了关闭事务之外,还释放了您可能拥有的所有锁。虽然从技术上讲,回滚也会这样做,但提交总是比回滚快。因为您没有写任何东西,所以您应该选择提交,因为它除了关闭事务之外,还释放了您可能拥有的所有锁。虽然从技术上讲回滚也会这样做,但提交总是比回滚快。谢谢Sonam。这也是我的假设,但你有任何文件或任何东西支持吗?谢谢Sonam。这也是我的假设,但你有任何文件或任何东西来支持吗?