我们设置了大约50个sql select查询,其中大多数是复杂的,涉及连接中的5或6个表。它们只是选择查询以获取用于生成报告的数据。所有这些都已经通过了明确的测试。现在我们被要求将WITH (NOLOCK)
添加到所有50个查询中的每个表中。而不是在每个表中添加NOLOCK。没关系如果我只是在每个选择查询的顶部添加SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
?
我们不允许存储过程,我们也没有使用BEGIN TRANS
COMMIT TRANS
,只需添加SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
作为第一行,它就像使用{{1}一样}?设置事务隔离级别的范围级别是什么?
我担心影响其他应用程序通信同一个数据库的方式。是否正确,一旦查询完成执行,隔离级别将回退到其默认值