这些sql查询有什么区别?
SQL查询:
SELECT
U.ID_USER AS ID,
U.USERNAME AS NICK,
U.PASSWORD AS PASS
FROM T_USERS AS U WITH (NOLOCK)
SQL查询:
SELECT
U.ID_USER AS ID,
U.USERNAME AS NICK,
U.PASSWORD AS PASS
FROM T_USERS AS U
答案 0 :(得分:1)
第一个(使用nolock查询)将不会被阻止,即使它正在读取的数据是唯一锁定的,并且可以返回尚未提交的行。如果未读取未提交的数据,则NOLOCK通常用于减少阻塞。 Nolock指定在读取数据时不要尝试对表,行,页等资源进行锁定。
第二个(没有nolock的查询)将被阻止,如果任何行正在修改或被独占锁定。它将永远不会读取尚未提交的数据,因为它将被正在更改的进程阻止数据。通常情况下,当您不想读取未提及的数据以及准确性至关重要的数据时。