SQL Server 2014中内存优化表中的readpast锁定?

时间:2016-01-06 10:46:27

标签: sql-server locking oltp

在SQL Server 2014中使用内存中的表时遇到了很大的问题。

我知道SQL Server中没有readpast锁。但在某些情况下,它可能会导致性能下降。

假设一个表中有20条记录。每条记录都有一列LockStatus,初始值为Wait

如果两个消费者想要挑选最多(10)个记录,会发生什么?

消费者获得前10条记录并将其状态更改为Locked,当它正在使用它们时,第二个消费者尝试选择顶部(10)但它将被中止:

  

当前事务尝试更新已有的记录   此事务开始后更新。交易中止了。

使用readpast锁定,我们可以告诉消费者2选择第二个10条记录,而不是中止。

0 个答案:

没有答案