问题标签 [nolock]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3256 浏览

sql-server - 子查询的 WTH (NOLOCK) 语法

我正在尝试在报告查询中添加(nolock),当运行锁定完整数据库时,其他用户无法使用该数据库。

我不知道在这种情况下如何使用:

这给出了语法错误:

应该放在哪里WITH (NOLOCK)

我并不是说这是解决所有问题的方法,这只是我想要的测试。

谢谢!

0 投票
0 回答
225 浏览

sql - 临时变量赋值 WITH (NOLOCK)

在临时变量赋值中使用 WITH (NOLOCK) 是否有速度优势。意义:

这个

诗句

鉴于 NOLOCK 和 READUNCOMMITTED 不允许用于 UPDATE、INSERT 和 DELETE 语句https://docs.microsoft.com/en-us/sql/t-sql/queries/update-transact-sql。临时变量赋值是否符合此规则作为 INSERT 的条件?

0 投票
3 回答
1240 浏览

sql-server - 通过在打开 READ_COMMITTED_SNAPSHOT 的 SQL Server 数据库上使用 WITH (NOLOCK) 是否可以获得任何性能提升?

我在 Microsoft SQL Server 2014 上有一个数据库,其中READ_COMMITTED_SNAPSHOT属性已打开。我理解这意味着读取不会被写入阻塞,因为读取不会发出共享锁,这是干净的读取。

我的问题是:WITH (NOLOCK)在这种情况下使用 in select 语句是否可以获得任何性能提升?就我而言,我不介意阅读会很脏。

我试图找到这些信息,但只找到了使用WITH (NOLOCK)READ_COMMITTED_SNAPSHOT开启之间的比较。但我已经戴上了。

0 投票
1 回答
567 浏览

sql-server - 在 JOIN 查询中的某些表上使用 WITH (NOLOCK)

我已经阅读了有关此和事务隔离级别的信息,只是想知道.....

我有一些针对产品、类别、位置和库存的查询。现在产品、类别和位置数据很少发生变化,但您可以想象,库存会发生变化。WITH (NOLOCK)在产品、类别、位置上指定但不在库存上指定是否合理?我做了一些计时,它似乎确实提高了性能,所以我很高兴。

我的理解是,如果我没有WITH (NOLOCK)在 Stock 上指定,那应该只会得到提交的事务,而不会有脏读。同时,由于其他表的内容很少更改,因此可以安全地指定WITH (NOLOCK).

我正在处理的特定过程不会写入任何提到的表......它将一些结果放入#table 并从中返回行。

您的想法表示赞赏。

0 投票
0 回答
1009 浏览

sql-server - 没有事务的 JPA sql server 'nolock'

我搜索了with nolock从 JPA 查询的方法,但我收到错误消息说我不在事务中,即true. 是否可以在没有事务的情况下关闭锁定?

0 投票
0 回答
821 浏览

java - 修改现有代码以适应 jpa 中的 nolock

我想要实现的是,我想在 select 语句中执行无锁查询。但是根据这个答案,通过直接 JPA 实现是不可能实现的。我也从搜索中了解到,nolock并且READ_UNCOMMITTED是相同的。有没有办法通过修改我的下面的代码来实现这个(无锁,READ_UNCOMMITTED)。或者我应该使用本机查询并指定WITH(NOLOCK)

我试过

但它也没有解决我的问题。

我的参考这个这个这个这个

我正在使用以下代码从表中获取数据。这段代码没有锁就可以正常工作。

从数据库中获取数据

数据库配置

0 投票
1 回答
332 浏览

c# - 业务层中的 TransactionScope 用于脏异步读取

我正在开发一个 .NET Core web api 服务并在 BL 中有以下方法:

我需要让所有实体都处于“脏读”模式。

所以,我试图以这种方式使用 TransactionScope:

但是:1)这已经读取提交模式(我从这篇文章中知道我必须开始一个事务,但我这里没有会话或数据库上下文,因为我在 BL 中而不是在 DAL 中)

和 2) 以异常结束A TransactionScope 必须在创建它的同一线程上处理。

0 投票
1 回答
957 浏览

sql - SELECT WITH (NOLOCK) 有时不返回任何结果

以下查询通常会返回大量结果(大约 750k 个结果)。但是,在生产中,我遇到了返回 0 结果的零星情况。如果我们在它返回 0 后的下一秒重新运行它,它只会正常返回结果。

我确信数据仍然存在,并且不应该有任何东西会删除它......

我在几个地方看了看,我找不到可能导致上述问题的原因......而且,似乎没有一种简单的方法来复制它......这只是随机的。

由于我的 SQL 知识非常有限,您能否考虑一下可能发生这种情况的某些场景?或者也许建议简单的调试方法?

非常感谢!

0 投票
1 回答
728 浏览

sql - 在事务中或删除表时使用“with nolock”

我正在尝试清理临时表。最快的方法是删除或截断表然后回滚并且只包含所需的行。现在我的问题是数据库的“死锁”。有没有办法使用'with nolock'让数据库不锁定

0 投票
1 回答
386 浏览

sql-server - SQL Server 中 WITH(NOLOCK) 的使用

我有一个关于WITH (NOLOCK / READPAST)在 SQL Server 中使用的问题。

当我WITH (NOLOCK / READPAST)在一个或两个表上使用提示时,并且我在 JOIN 中有其他表时,我应该对所有表使用该提示,还是只对我知道有此需求的表使用该提示?