下面是为 SQL Server 专家准备的:如果我将 SQL Server 2008 事务隔离级别设置为READ UNCOMMITTED
,这是否也会影响索引页?
例如,使用,或对索引有ISOLATION LEVEL READ UNCOMMITTED
什么影响(如果有的话) ?ALLOW_PAGE_LOCKS
ALLOW_ROW_LOCKS
ALTER INDEX IX_FirstName ON Employee
SET (ALLOW_PAGE_LOCKS=OFF, ALLOW_ROW_LOCKS=OFF)
我似乎无法在任何地方找到明确的答案 - 关于事务隔离级别的 MSDN 文档实际上只讨论了数据页......
不会。它不会影响有关 SQL Server 内部管理的任何内容。您正在为您的查询设置该连接。SQL Server 以自己的方式管理它自己的锁定。
为什么要关闭索引的页和行锁定?与让 SQL Server 管理它认为合适的索引相比,您更有可能看到更严重的锁定。通过将这两个值都设置为 OFF,您只是告诉 SQL Server 锁定一个表。考虑到您还在搞乱 read_uncommitted,我敢打赌您不希望这样。
如果您问 read_uncommitted 是否允许您对索引进行脏读,是的。确实如此。