【问题标题】:with nolock and exclusive locks使用 nolock 和独占锁
【发布时间】:2011-09-08 20:42:11
【问题描述】:

因此,使用 nolock 不会占用任何锁。它还会尊重优秀的锁吗?例如,如果我尝试使用 nolock 选择一行,而另一个进程已对其设置了独占锁,我的使用 nolock 选择会被阻止,还是会选择该行?

【问题讨论】:

    标签: sql locking sql-server-2000 nolock


    【解决方案1】:

    我认为使用“NOLOCK”会导致脏读,这意味着在某些锁定发生之前存在的数据。假设,如果在一个表上设置了写锁来更新一些数据,我们尝试使用“NOLOCK”读取数据,那么更新之前存在的数据就会返回给我们。

    希望这会有所帮助!

    【讨论】:

    • 脏读实际上是读取未提交的记录,而不是读取更新前的记录。
    • @JNK - 只是为了确认一下,您指的是 [lock [read] update unlock] - before,而不是 [lock update [read] error rollback unlock] - uncommitted?
    猜你喜欢
    • 2015-04-16
    • 2012-08-03
    • 2013-07-11
    • 2014-10-01
    • 2018-09-11
    • 2010-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多