使用 nolock 和独占锁
Posted
技术标签:
【中文标题】使用 nolock 和独占锁【英文标题】:with nolock and exclusive locks 【发布时间】:2011-09-08 20:42:11 【问题描述】:因此,使用 nolock 不会占用任何锁。它还会尊重优秀的锁吗?例如,如果我尝试使用 nolock 选择一行,而另一个进程已对其设置了独占锁,我的使用 nolock 选择会被阻止,还是会选择该行?
【问题讨论】:
【参考方案1】:我认为使用“NOLOCK”会导致脏读,这意味着在某些锁定发生之前存在的数据。假设,如果在一个表上设置了写锁来更新一些数据,我们尝试使用“NOLOCK”读取数据,那么更新之前存在的数据就会返回给我们。
希望这会有所帮助!
【讨论】:
脏读实际上是读取未提交的记录,而不是读取更新前的记录。 @JNK - 只是为了确认一下,您指的是 [lock [read] update unlock] - before,而不是 [lock update [read] error rollback unlock] - uncommitted?以上是关于使用 nolock 和独占锁的主要内容,如果未能解决你的问题,请参考以下文章