小编典典

僵局-这真的有帮助吗?

sql

因此,我有一个不断陷入僵局的查询。熟悉系统的人无法弄清楚存储过程为什么会死锁,但是他们告诉我,我应该将其添加到其中:

SET NOCOUNT ON
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

这真的是有效的解决方案吗?那是做什么的?


阅读 177

收藏
2021-05-23

共1个答案

小编典典

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

这将导致系统返回不一致的数据,包括重复的记录和丢失的记录。如果使用NOLOCK提示,则可能会错过以前提交的行的

死锁可以进行调查和解决,如果您遵循正确的程序,这没什么大不了的。当然,读脏东西似乎更容易,但是在路上,您将坐着很长时间盯着您的总账,想知道为什么这种做法
无法 平衡借方和贷方。因此,请再次阅读,直到您真正理解为止: 读是不一致的读。

ALTER DATABASE MyDatabase
SET READ_COMMITTED_SNAPSHOT ON

但是,请记住,快照隔离并 没有 解决死锁,它只是隐藏它们。适当研究死锁的原因和修复方法始终是适当的操作。

2021-05-23