【问题标题】:Selecting data without locking rows选择数据而不锁定行
【发布时间】:2019-04-13 15:24:29
【问题描述】:

我是 SQL Server 的新手。我之前使用过 oracle 数据库。在 Oracle 中,当我们从表中选择数据时,它不会锁定任何行。但我刚开始使用 SQL Server 并意识到当我们从表中选择数据时,它会在行上放置某种共享锁。如果我们想避免锁定,我们可以指定 nolock 表提示,但是通过指定 nolock 它也会返回脏数据。所以我想知道有什么方法可以从表中选择数据而不锁定行并且不检索未提交的数据。

【问题讨论】:

标签: sql-server


【解决方案1】:

这对于评论来说太长了,但一个可行的技巧是为您打算运行的查询创建一个目标索引。如果 SQL Server 最终使用此索引,则可能意味着它甚至不必访问原始表,从而避免了行锁定问题。

【讨论】:

  • “评论太长了”具有讽刺意味的是,所有文本都可以放在评论中。 XD 但是有针对性的索引在这里很有帮助。
  • @Larnu 但是我们会把你的评论放哪里呢?
猜你喜欢
  • 2012-09-26
  • 1970-01-01
  • 1970-01-01
  • 2012-12-16
  • 1970-01-01
  • 2017-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多