悲観的同時実行制御とは?ひかんてきどうじじっこうせいぎょ
悲観的同時実行制御とは、競合が起きる前提に立ち、データを読んだ時点でロックを掛けて他のトランザクションを待たせる方式。更新の直前ではなく参照の時点から押さえるため、処理が最後まで進めば必ず成功する代わりに、その間ほかは前へ進めない。衝突はやり直しではなく待ちとして現れる。
最終更新:2026-10-06
データベースSPを最短で暗記・合格する →背景
同じ行を複数人が扱う業務では、後から衝突が判明してやり直すのか、最初から他を止めるのかという二択になる。やり直しの代償が大きい業務——在庫の引当や座席の確保のように、失敗すると顧客への回答自体をやり直す種類の処理——では、先に止めるほうが総合的に安い。この見積りがそのまま方式の選択になる。
具体例
予約システムで座席の行をSELECT ... FOR UPDATEで読むと、確定操作を終えるまで他の端末は同じ座席を読めない。二重予約は構造的に起きない代わりに、利用者が画面で迷っている数十秒ぶんもロックが続くため、保持時間を短く保つ設計が要る。
試験での引っ掛け
楽観的制御との有利不利は競合の頻度で逆転する。競合が稀なら待ちが丸ごと無駄になり楽観的が有利、競合が多いなら再実行が積み上がる楽観的が不利になる。失敗の現れ方も違い、悲観的は待ちとデッドロック、楽観的はコミット直前のロールバックとして出る。
関連用語
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。