我SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
在大多数通用 SQL 查询中都使用它,主要是因为我在最初学习该语言时就已经深入了解了这一点。
据我了解,这种隔离级别的行为方式与WITH (NO LOCK)
我只倾向于使用的方式相同SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
。
- 有没有时候我应该使用
WITH (NO LOCK)
overSET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
. - 是否会
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
阻止其他用户被锁定在我正在阅读的表格之外? - if
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
用于停止锁,但我只是读取数据,使用它有什么意义?只有系统密集型查询会生成锁吗?在运行将在 5-10 秒内返回的查询时是否值得使用它? - 我被告知
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
在读取将用于更新的数据时不要使用,大概是为了避免更新脏数据。这会是唯一的原因吗? - 对于我正在处理的数据库类型,有一个生产和测试环境。我们很少会查询生产环境,但是当我需要时,我通常会
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
在我的查询中使用。我知道这可能会导致脏读。除了接收可能最终不会提交到数据库的数据(因此将我的结果丢弃)之外,还有哪些其他类型的“脏读”可能?
对不起,大量的问题。