我是SQL Server的新手。我之前使用的是oracle数据库。在Oracle中,当我们从表中选择数据时,它不会锁定任何行。但是我只是开始使用SQL Server,并意识到当我们从表中选择数据时,它在行上放置了某种共享锁。如果我们想避免锁定,我们可以指定nolock表提示,但是通过指定nolock它也将返回脏数据。因此,我想知道有什么方法可以从表中选择数据,而不必在行上锁定并且不检索未提交的数据。
答案 0 :(得分:0)
这对于评论来说太长了,但是可能有用的一个技巧是为要运行的查询创建目标索引。如果SQL Server最终使用该索引,则可能意味着它甚至不必命中原始表,从而避免了行锁定问题。