sql-server – 事务隔离级别是否也会影响索引?

这是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允许你对索引进行脏读,是的.确实如此.

转载注明原文:sql-server – 事务隔离级别是否也会影响索引? - 代码日志