0

我正在通过网络将一些数据从 sql server 复制到 firebird。由于完整性,我需要使用事务,但我正在传输大约 9k 行。相对于非交易模式的阅读,在打开的交易中阅读对阅读成本有一些负面影响吗?

4

2 回答 2

2

“非交易模式”根本不存在,总有一笔交易,不管你声明与否。问题实际上是在隐式事务中读取与在显式事务中读取之间是否有任何区别。简短的回答是否定的,没有区别

如果您在更高的隔离级别下使用显式事务,则可能会有一些差异,而不是默认的 READ_COMMITTED。这还取决于您是否在显式交易中做了其他任何事情,但是所有这些细节都无法从您帖子中的节俭信息中推断出来。

于 2012-07-25T13:46:24.613 回答
1

默认事务隔离级别是 READ COMMITTED。它会在查询时为其他人锁定表。

MSDN 关于事务隔离级别:http: //msdn.microsoft.com/en-us/library/ms173763.aspx

我遇到了一个关于锁定死锁的奇怪错误消息的问题。这甚至发生在 stackoverflow - 请参阅 Jeff Atwood 的这篇精彩文章。我强烈建议切换到“读取提交快照”,这解决了错误+我的性能问题。

http://www.codinghorror.com/blog/2008/08/deadlocked.html

于 2012-07-25T13:52:50.817 回答