gpt4 book ai didi

sql - NOLOCK 和 UNCOMMITTED 之间有什么区别

转载 作者:行者123 更新时间:2023-12-01 18:37:12 28 4
gpt4 key购买 nike

我使用 SQL Server 2012。

我编写了两个查询,但是 NOLOCKUnCommited 之间有什么不同?

SELECT lastname, firstname
FROM HR.Employees with (READUNCOMMITTED)

SELECT lastname, firstname
FROM HR.Employees with (NoLock)

最佳答案

NOLOCK: 相当于READ UNCOMMITTED(来源: MSDN )

NOLOCKREAD UNCOMMITTED 指定允许脏读。不会发出共享锁来阻止其他事务修改当前事务读取的数据,其他事务设置的排他锁也不会阻止当前事务读取锁定的数据。允许脏读可以带来更高的并发性,但代价是读取数据修改,然后被其他事务回滚

READ UNCOMMITTEDNOLOCK 提示仅适用于数据锁。所有查询(包括带有 READ UNCOMMITTED 和 NOLOCK 提示的查询)都会在编译和执行期间获取 Sch-S(架构稳定性)锁。因此,当并发​​事务在表上持有 Sch-M(架构修改)锁时,查询将被阻塞

关于sql - NOLOCK 和 UNCOMMITTED 之间有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27198020/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com