高度試験午前I暗記無料で始める

ロックとは?ろっく

ロックとは、複数のトランザクションが同じデータを同時に更新して不整合が生じることを防ぐため、対象データへのアクセスを一時的に制限する仕組み。読取り用の共用ロック(Sロック)と更新用の専有ロック(Xロック)があり、S対Sだけが同時にかけられ、Xが絡む組合せはすべて待たされる。

最終更新:2026-10-07

試験情報

高度試験・午前I(全区分共通)の過去問では11回出題され、ほかに5問の解説で触れられています(2016年度〜2025年度)。

高度試験・午前I(全区分共通)の頻出用語/午前I(全区分共通)

別名:排他制御

この語が出る過去問を解く →

背景

同時実行をやめて1件ずつ処理すれば不整合は起きないが、それでは多数の利用者をさばけない。性能のための同時実行と、正しさのための直列化という相反する要求を調停するのがロックで、2相ロッキングプロトコルは「必要なロックをかけ終えるまで一つも解放しない」という手順で直列化可能性を保証する。午前I(科目A-1)では、相反表(両立性)とデッドロックが定番の出題になる。

具体例

MySQLのInnoDBやPostgreSQLは行単位でロックを取り、SELECT ... FOR UPDATEで明示的に専有ロックをかけられる。座席予約で同じ席を二人が同時に押さえてしまわないのはこの仕組みによる。

試験での引っ掛け

相反表は「S対Sだけが可、Xが絡めばすべて不可」。またロック粒度を細かくすれば待ちは減るが管理のオーバヘッドが増え、粗くすればその逆になるので、「細かくすれば常に速い」は誤り。デッドロックは、ロックを取る順序を全トランザクションで揃えることで避ける。

関連用語

出た過去問

問題文で直接問われたものと、解説の中で触れられたものが含まれます。

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 試験では11回出題(2016年度〜2025年度)
  • 分野:午前I(全区分共通)
  • 相反表は「S対Sだけが可、Xが絡めばすべて不可」。