首页 > 解决方案 > UPDLOCK 获取的锁是原子的吗

问题描述

如果您有一个简单的 select withupdlock语句,如下所示:

select top 1 id 
from customer with (updlock, serializable) 
where guid = @guid;

在选择期间会自动获取所有锁吗?

或者它会被一个一个地获取,即首先索引锁然后行锁等......因此如果在另一个线程中以不同的方式获取锁的顺序,使用不同的 guid 甚至相同的 guid 执行相同的语句?

标签: sql-serverdatabaseparallel-processinglockingdeadlock

解决方案


推荐阅读