ファントムリードとは?
ファントムリードとは、同一トランザクション内で同じ検索条件を2回実行したとき、間に別のトランザクションが行を挿入・削除してコミットしたため、1回目には無かった行が現れたり消えたりする現象。幻の行が見えることからこの名がある。SERIALIZABLEでのみ完全に防げる。
ふぁんとむりーど
ファントムリードの意味
同一トランザクション内で同じ検索条件を2回実行したとき、間に別のトランザクションが行を挿入・削除してコミットしたため、1回目には無かった行が現れたり消えたりする現象。幻の行が見えることからこの名がある。SERIALIZABLEでのみ完全に防げる。
ファントムリードの具体例
TR1が「単価1,000円以上の商品」を検索して5件を得た後、集計のため再度同じ条件で検索すると6件返る。その間にTR2が単価1,500円の新商品を挿入してコミットしていたためで、件数と合計金額が同一処理内で食い違う。
ファントムリードは試験でどう引っ掛けられる?
行ロックだけでは防げない点が要注意。まだ存在しない行にはロックを掛けようがないため、条件に合う範囲そのものを保護する仕組み(範囲ロックや直列化)が必要になる。REPEATABLE READで防げると誤答しやすい。
ファントムリードと関連する用語
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。