ReadUncommited 是否意味着 NoLock
-
09-06-2019 - |
题
在 SQL Server 2005 中编写 SQL 语句时,READUNCOMMITTED 查询提示是否暗示 NOLOCK 还是我也必须手动指定它?
也是如此:
With (NoLock, ReadUnCommitted)
与以下相同:
With (ReadUnCommitted)
解决方案
是的,他们是同一个人
其他提示
根据卡伦·德莱尼的说法...
NOLOCK 提示与索引选项无关。提示告诉 SQL 服务器在执行 SELECT 操作时不请求锁,因此会有 与已锁定的数据没有冲突。索引选项只是告诉 允许此级别锁定的 SQL Server,当锁定要 发生。例如,如果ALLOW_ROW_LOCKS处于关闭状态,则唯一可能的锁 将是页面或表格锁定。索引选项不会强制锁定 持有,他们只是控制锁的可能大小。
在回答主题中的问题时,NOLOCK 提示和 READUNCOMMITTED 提示是等效的。
我想你可以这么说
ReadUnCommited具有NoLock的能力
然而你不能这么说
NoLock具有ReadUnCommited的能力
不隶属于 StackOverflow