更新消失(ロストアップデート)とは?
更新消失(ロストアップデート)とは、2つのトランザクションが同じ行を読んでから別々に更新した結果、先に書いた側の更新が後の書込みで上書きされて消える異常。読取りと書込みの間に他者の更新が割り込むことで生じ、排他制御か更新時の版チェックで防ぐ。
こうしんしょうしつろすとあっぷでーと
更新消失(ロストアップデート)の意味
2つのトランザクションが同じ行を読んでから別々に更新した結果、先に書いた側の更新が後の書込みで上書きされて消える異常。読取りと書込みの間に他者の更新が割り込むことで生じ、排他制御か更新時の版チェックで防ぐ。
更新消失(ロストアップデート)の具体例
在庫100を2人が読み、それぞれ10と5を引いて書き戻すと、結果が90か95になり85にならない。画面に読み込んだ在庫をそのまま更新する実装は危険で、UPDATE時にSET 在庫 = 在庫 - 10と相対値で書くか版番号で検査する。
更新消失(ロストアップデート)は試験でどう引っ掛けられる?
ダーティリードと違い、未コミットの値を読んでいなくても発生する。READ COMMITTEDにしただけでは防げず、明示的なロックか楽観ロックの版チェックが必要になる点が問われやすい。
更新消失(ロストアップデート)と関連する用語
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。