2
我在SQL Server 2008中執行順序,我發現this article form MSDN BlogSQL服務器:在存儲過程中的併發性問題
在存儲過程usp_GetNewSeqVal
,筆者得到一個序列是這樣的:
update AllSequences
set @NewSeqVal = CurrVal = CurrVal+Incr
where SeqName = @SeqName
這對我來說似乎有問題,似乎缺少行鎖可能會產生併發問題。
但在文章中他指出:
併發 - 擴展程序的執行是不是DML語句的事務範圍內,並且其持有代表該序列號的行持續時間很短的鎖。
是否有併發的問題嗎?
如果是的話如何解決?
防止一些併發問題。但是如果原子更新是更大交易的一部分,並且有足夠的大交易需要進行更新,那麼這可能是瓶頸。 –