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

反復不能読取りとは?はんぷくふのうよみとり

反復不能読取りとは、同一トランザクション内で同じ行を2回読んだとき、その間に他のトランザクションが更新・削除をコミットしたために値が変わってしまう現象。1回目と2回目で違う値を使うことになり、集計や判定の一貫性が崩れる。非再現読取りとも呼ばれる。

最終更新:2026-10-06

試験情報

データベーススペシャリスト試験の過去問では3問の解説で触れられています(2021年度〜2025年度)。

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

別名:非再現読取り、ノンリピータブルリード、non-repeatable read

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

背景

READ COMMITTEDでは「コミット済みの値しか読まない」ことは守られるが、読んだ値をトランザクションの終わりまで押さえておく保証はない。並行度を上げるためにロックを早く手放す設計の裏返しとして、この現象が残る。複数回の読取りを跨いで整合した結果を出す必要があるかどうかが、水準を1段上げる判断の分かれ目になる。

具体例

月次集計が受注明細を2回走査する構成になっていると、1回目と2回目の間に単価改定がコミットされ、前半と後半で違う単価を使った合計が出る。読み直しても同じ値であることを保証したいなら、REPEATABLE READ以上を選ぶ。

試験での引っ掛け

これを防ぐ最低の隔離性水準はREPEATABLE READで、READ COMMITTEDでは防げない。行の中身が変わるのが反復不能読取り、条件に合う行の集合が増減するのがファントムリードで、後者はREPEATABLE READでも規格上は起こり得る(SERIALIZABLEで消える)。

関連用語

出た過去問

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

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

試験での特徴
  • 3問の解説で触れられる(2021年度〜2025年度)
  • 分野:午前II
  • これを防ぐ最低の隔離性水準はREPEATABLE READで、READ COMMITTEDでは防げない。