"user 2" id: 3, name: "user 3" id: 4, name: "user 4" Tr1 SELECT * FROM users WHERE id = 2 Tr2 UPDATE users ( 略) WHERE id = 2 SELECT * FROM users WHERE id = 4 Tr 3 SELECT * FROM users WHERE id = 4 id が2 のレコードに共有ロックをかける id が4 のレコードに共有ロックをかける id が2 のレコードの共有ロックが開放されるのを待つ 共有ロックが取得されていても、共有ロックは 取得できるので待たない