有人能给我一些指导,告诉我什么时候应该使用WITH (NOLOCK)而不是SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

每种方法的优点/缺点是什么?使用其中一个而不是另一个,是否会产生意外后果?

推荐答案

它们是一样的.如果您使用set transaction isolation level语句,它将应用于连接中的所有表,因此如果您只想在一个或两个表上使用nolock,请使用该语句;否则使用另一个.

这两个都会让你读脏书.如果你同意的话,就用它们.如果不能进行脏读取,那么可以考虑snapshotserializable个提示.

Sql相关问答推荐

如何通过比较不同表中相同ID S的值来筛选ID为S的列表?

使用来自不同深度的嵌套组的值执行计算的干净方法?

Postgres trunc_date删除一个月

如何在SQL中按每个子组的顺序更新数据?

连接三个表的正确方式是什么?在这三个表中,可以显示在一个表上的行将在其他表中显示结果

BigQuery-当子查询不返回任何结果时,所有结果为零

正在try 从SQL获取最新的ID和一个唯一名称

SQL将三个表中的三列组合为一列

PostgreSQL中递归CTE查询的故障过滤

从选定记录中提取摘要作为值的划分

具有分组条件的不同计数 (DAX)

如何根据创建日期查找两个表中最接近的记录?

JSON对象查询SQL服务器

try 将多行折叠为单个结果

查询以查找今天和昨天的数据之间的差异以及伪列

PostgreSQL:通过数组的元素从另一个表中 Select 数据,然后按顺序显示

BigQuery Pivot 遗漏行

我如何编写一个遍历数组数组并将所有值连接成一个字符串的 postgres 函数

SQL 查询以填充单个列中的所有值

将单行中的多个行值转换为列