我正在使用一个糟糕的视图,它在内部将许多很多表连接在一起,其中一些是同一张表。
我想知道,当一个表被连接到自身时,NOLOCK
如果它在一个连接上而不是另一个连接上,如何解释提示?是否NOLOCK
仍然对表有效,或者如果NOLOCK
不包含在同一个表的连接之一中,表是否完全锁定?
例如(这是伪代码,假设存在有效JOIN ON
条件):
SELECT *
FROM Table1 t1 (NOLOCK)
JOIN Table2 t2 (NOLOCK)
JOIN Table2_Table2 tt (NOLOCK)
JOIN Table2 t22 (NOLOCK)
JOIN Table1 t11
是否Table1
被锁定或保持NOLOCK
编辑?