2018-10-15 10月15日の学び DB 排他制御(ロック)に関しての整理 楽観的ロック データの同時更新が発生する頻度は低いことを想定。 データそのものに対してロックは行わずに、更新対象のデータが参照時と同じ状態であることを確認してから更新する。 データそのものは第三者からもアクセス可能。 ロックの代わりにデータ参照時とデータ更新時の状態を確認。 悲観的ロック データの同時更新が発生する頻度は高いことを想定。 データ参照時に更新対象となるレコードのロックを取得。ロックされたレコードは、トランザクションが、コミットまたはロールバックされるまで、他のトランザクションから更新されない。 ロックの開放もれが発生するとデータ更新ができなくなる。 排他制御の時間が長いほどシステムの利便性が低下する。 qiita.com