NOLOCK是如何工作的

Posted

技术标签:

【中文标题】NOLOCK是如何工作的【英文标题】:how does NOLOCK works 【发布时间】:2013-09-20 10:18:52 【问题描述】:

我知道 NOLOCK 的用法,但是谁能帮我了解一下 NOLOCK 的机制。

    如果一个表被写锁定,将没有锁返回值(在写锁定期间)。

如果是,那么它将引用哪种数据状态?

【问题讨论】:

No lock hint 【参考方案1】:

是的,NOLOCK 可以返回锁定的数据。返回的数据的状态是不确定的(对于几乎每一个“它将与......一致”的声明,您都可以找到一个 MVP 或另一个发布的反例......)。不保证 NOLOCK 读取是正确的,事实上,are often incorrect。使用 NOLOCK 从来没有一个很好的理由。您应该解决根本问题,而不是试图逃避脏读。

【讨论】:

以上是关于NOLOCK是如何工作的的主要内容,如果未能解决你的问题,请参考以下文章

在 SQL Azure 中支持 nolock

SQL nolock 和 join

在更新表格时,它正在冻结应用程序

如何在 nHibernate 中添加 NOLOCK?

如何测试 MySql READ UNCOMMITTED 对 nolock 的使用

是否可以在 SQL Server 中使用 nolock 更改视图?