Sql server 事务隔离级别SQL Server中的可重复读取
使用SET-TRANSACTION ISOLATION LEVEL REPEATABLE READ时有哪些风险或性能下降Sql server 事务隔离级别SQL Server中的可重复读取,sql-server,biztalk,isolation-level,Sql Server,Biztalk,Isolation Level,使用SET-TRANSACTION ISOLATION LEVEL REPEATABLE READ时有哪些风险或性能下降 我们有一些从BizTalk服务调用的SP。我们有时会陷入僵局。如果我们更改隔离级别,有什么风险和可能的性能降级?可重复读取在读取后不会解除共享锁 这意味着,如果您在RR事务中执行SELECT,则并发事务将无法更新由SELECT锁定的行。我们无法告诉您使用单个数据点(事务隔离级别)可能会遇到哪些潜在风险或性能问题。我们对您的数据、数据量、TPS和数据依赖性一无所知。无论何时绩效
我们有一些从BizTalk服务调用的SP。我们有时会陷入僵局。如果我们更改隔离级别,有什么风险和可能的性能降级?可重复读取在读取后不会解除共享锁
这意味着,如果您在
RR
事务中执行SELECT
,则并发事务将无法更新由SELECT锁定的行。我们无法告诉您使用单个数据点(事务隔离级别)可能会遇到哪些潜在风险或性能问题。我们对您的数据、数据量、TPS和数据依赖性一无所知。无论何时绩效是一个问题,尝试它,衡量它。没有其他答案。可重复读取将锁定所有已读取的行
我被带走了。在与您合作的情况下
游标获取大量数据,这可能导致
与其他用户争用,因为他们无法
获取锁以更新游标读取的任何行
使用可重复读取,直到光标关闭
性能降低的风险在于,事务可能会
超时和/或死锁次数增加。这种风险
与两个事务需要执行的概率成正比
同时读取/更新相同的行。另一个因素是
锁的大小会影响应用程序。如果锁是
如果数据不同,则可能会发生争用
事务需要访问同一页,而不一定是同一行
另一方面,当使用较低的隔离级别时,
光标稳定性例如,您保留打开的可能性
您以前在事务期间获取的行可能是
在您的工作单元完成之前由其他事务更新
已完成。对已经说过的话进行补充:不能完全消除死锁。你所能做的就是最大限度地减少它们发生的可能性。你所说的“死锁”是什么意思?是SQL Server
返回一条错误消息,说明死锁已解决,还是您只是挂起了事务?后者不是死锁,而是锁争用。