2016-11-28 4 views
0

つまり、ロックを取得する手順は何ですか?また、クエリ 'Read Uncommitted' Isolationレベルに 'WITH(Nolock)'ヒントが追加されている場合、これにより、ロックの取得に関連するオーバーヘッドのすべてまたは一部が回避されますか?SQL Serverでロックを取得すると実際にはどうなりますか?

+1

可能な複製(http://stackoverflow.com/questions/210171/effect-of-nolock-hint- in-select-statements) –

+3

ここをクリックしてくださいhttps://www.brentozar.com/sql/locking-and-blocking-in-sql-server/役立つ情報がたくさんあります。 –

+0

'NOLOCK'は* gimmeダーティデータ*を意味し、ロック*を避けません。オーバーヘッドはロックによって引き起こされるものではなく、最適化されていないステートメントや必要のないデータへのアクセスが原因です。スナップショットアイソレーションを使用すると、ロックを回避できますが、IOオーバーヘッドが高くなります。 –

答えて

0

これは特定の回答には大きすぎますが、簡単に言えば、SQL Serverは要求に応じてさまざまな種類のロックを使用します。 selectはあるタイプのロックを取得し、更新は別のタイプのロックを取得します。

このリンクの件名は101です。 SQL Server locking Basics

そして、[SELECT文でNOLOCKヒントの効果]のこの1つはあまりにも

Another good locking read

関連する問題