以下はサンプル クエリです。
INSERT INTO Target (Col1,Col2,Col3,Col4) ----------------Statement#1
Select A.Col1,B.Col2,A.Col3,C.Col4 ----------------Statement#2
FROM A WITH(NOLOCK) INNER JOIN B WITH(NOLOCK)
ON A.Id = B.ID
LEFT JOIN C WITH NOLOCK
ON C.Id = B.ID
Where A.Id = 11
どの段階でロックがテーブルに適用されますか [排他ロック?]、SQL はどのようにクエリを実行しますか?
- 結果は、join および where 句に基づいて、テーブル A、B、および C からフェッチされます。
- 準備ができたら、テーブルへのデータの挿入を開始し、同時にテーブルにロックを適用します。
実際のデータがページテーブルに書き込まれるとロックされますが、SELECTでINSERT INTOであっても選択中はロックされませんか?