データベーススペシャリスト暗記無料で始める

ファントムリードとは?ファントムリード

ファントムリードとは、同じ検索条件で2度読んだときに、他のトランザクションの挿入や削除によって前回は無かった行が現れる(あるいは在った行が消える)現象。既存の行の値ではなく、条件に合致する行の集合そのものが変わる点に特徴があり、分離レベルではSERIALIZABLEまで上げないと規格上は防げない。

最終更新:2026-10-06

試験情報

データベーススペシャリスト試験の過去問では1回出題されています。

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

別名:幻書き、幻像読取り、phantom read

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

背景

行ロックは既に存在する行しか押さえられないので、まだ存在しない行の挿入を止める術がない。防ぐには条件そのものにロックを掛ける述語ロックや索引の範囲ロックが要り、同時実行性を大きく損なう。代償が重いからこそ、この現象だけが最上位の分離レベルまで残るものとして切り分けられている。

具体例

「今月の受注」の件数を数えた後に同じ条件で明細を出すと、その間に他の利用者が登録した受注が混ざり、件数と明細の合計が合わなくなる。REPEATABLE READでも規格上は起こり得る。

試験での引っ掛け

既存行の値が変わるのが反復不能読取り、行そのものが増減するのがファントムで、防げるのはSERIALIZABLEのみ。ただし実装差があり、InnoDBのREPEATABLE READはギャップロックでファントムを抑えている。

関連用語

出た過去問

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

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

試験での特徴
  • 試験では1回出題
  • 分野:午前II
  • 既存行の値が変わるのが反復不能読取り、行そのものが増減するのがファントムで、防げるのはSERIALIZABLEのみ。