資格暗記無料で始める

述語ロックとは?

述語ロックとは、既存の行ではなく、WHERE句が表す条件(述語)そのものにロックを掛ける方式。条件に合致する将来の行も含めて他トランザクションの挿入を禁じるため、ファントムリードを原理的に防げる。試験では、直列化可能水準を実現する仕組みとして問われる。

じゅつごろっく

データベーススペシャリスト試験の頻出用語/午前II


述語ロックの意味

既存の行ではなく、WHERE句が表す条件(述語)そのものにロックを掛ける方式。条件に合致する将来の行も含めて他トランザクションの挿入を禁じるため、ファントムリードを原理的に防げる。試験では、直列化可能水準を実現する仕組みとして問われる。

述語ロックの具体例

「部門コード=10の社員」を集計中に、他のトランザクションが部門10の社員を挿入すると、同じ集計をやり直したとき件数が変わる。述語ロックがあれば、その挿入は集計側のコミットまで待たされ、2回の集計結果が一致する。

述語ロックは試験でどう引っ掛けられる?

行ロックでは、まだ存在しない行を対象にできないためファントムを防げない。また述語どうしが重なるかの判定は一般に高コストなので、実際のDBMSは索引の範囲を代わりにロックするネクストキーロックなどで近似実装している。

述語ロックと関連する用語

最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。