2
我在SQL Server 2008中执行顺序,我发现this article form MSDN BlogSQL服务器:在存储过程中的并发性问题
在存储过程usp_GetNewSeqVal
,笔者得到一个序列是这样的:
update AllSequences
set @NewSeqVal = CurrVal = CurrVal+Incr
where SeqName = @SeqName
这对我来说似乎有问题,似乎缺少行锁可能会产生并发问题。
但在文章中他指出:
并发 - 扩展程序的执行是不是DML语句的事务范围内,并且其持有代表该序列号的行持续时间很短的锁。
是否有并发的问题吗?
如果是的话如何解决?
防止一些并发问题。但是如果原子更新是更大交易的一部分,并且有足够的大交易需要进行更新,那么这可能是瓶颈。 –