情報処理安全確保支援士暗記無料で始める

共有ロックと専有ロックとは?きょうゆうろっくとせんゆうろっく

共有ロックと専有ロックとは、データを読むトランザクションが掛ける共有ロック(Sロック)と、更新するトランザクションが掛ける専有ロック(Xロック)で、同時実行制御の基本となる2種類のロック。共有ロックどうしは両立するが、共有と専有、専有と専有は両立しない。この両立性行列が、どのトランザクションが待たされるかを決め、2相ロッキングやデッドロックの議論の前提になる。

最終更新:2026-10-06

試験情報

情報処理安全確保支援士試験の頻出用語/午前II

情報処理安全確保支援士を最短で暗記・合格する →

背景

複数の処理が同じ行を同時に触ると、読んだ直後に他の処理が書き換え、集計や残高の整合性が崩れる。かといって読むだけの処理まで互いに待たせると性能が出ない。読みどうしは並行させ、書きが絡むときだけ待たせる仕組みとして2種類のロックが定義された。支援士では、監査ログを集計する長い読取りがサービスの更新処理を止めないかという運用設計の文脈で扱われる。

具体例

MySQL(InnoDB)では SELECT ... FOR SHARE が共有ロック、SELECT ... FOR UPDATE が専有ロックを行に掛ける。在庫行を2つの参照が FOR SHARE で読むのは並行できるが、そこへ更新が来ると専有ロックが取れず待つ。ログ集計のような長い参照処理は、更新を詰まらせないように読取り専用のレプリカへ逃がす構成が定番になっている。

試験での引っ掛け

両立性行列の「共有と専有」の欄を両立と答えさせる引っ掛けがある。両立するのは共有どうしだけで、専有が絡む組合せはすべて待ちになる。またロック粒度を行単位に細かくすれば同時実行性は上がるが、管理のオーバヘッドが増え、DBMSがロック数の上限で表ロックへ格上げ(ロックエスカレーション)して、かえって全体が詰まることがある。

関連用語

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

情報処理安全確保支援士を最短で暗記・合格する →

試験での特徴
  • 分野:午前II
  • 両立性行列の「共有と専有」の欄を両立と答えさせる引っ掛けがある。