NOLOCK : READ UNCOMMITTED
と同等です (ソース:MSDN
)
NOLOCK
または READ UNCOMMITTED
ダーティ リードを許可することを指定します。他のトランザクションが現在のトランザクションによって読み取られたデータを変更できないようにする共有ロックは発行されず、他のトランザクションによって設定された排他ロックは、現在のトランザクションがロックされたデータを読み取ることをブロックしません。ダーティ リードを許可すると、同時実行性が向上しますが、データ変更の読み取りが犠牲になり、他のトランザクションによってロールバックされます
READ UNCOMMITTED
と NOLOCK
ヒントはデータ ロックにのみ適用されます。 with READ UNCOMMITTED and NOLOCK
を含むすべてのクエリ ヒント、コンパイルおよび実行中に Sch-S (スキーマ安定性) ロックを取得します。このため、並行トランザクションがテーブルの Sch-M (スキーマ変更) ロックを保持している場合、クエリはブロックされます