はい-ある程度。
SELECTの長さ 共有ロックの保持は、トランザクションの分離レベルによって異なります:
READ UNCOMMITTED-共有ロックはまったく取得されません-UPDATEブロックされていません-
READ COMMITTED-共有ロックは、データの読み取り中にのみ取得されます-UPDATE非常に短い期間ブロックされる可能性があります -
REPEATABLE READおよびSERIALIZABLE-共有ロックが取得され、トランザクションが終了するまで保持されます-UPDATESELECTまでブロックされます トランザクションが終了します
技術的には、UPDATE ステートメントは最初にUPDATEを取得します ロック-共有ロックと互換性があります(SELECTで使用されます) )-更新される行の現在の値を読み取っている間。
それが完了したら、Update ロックは、テーブルに書き込まれる新しいデータの排他ロックにエスカレートされます。