資格スワイプ
科目A-2(多肢選択式・四肢択一、25問)

トランザクション分離レベルにおける「READ COMMITTED」と「REPEATABLE READ」の性質の違いを説明したものとして、適切なものはどれか。

  • READ COMMITTEDでは同一トランザクション内で同じ行を再読み込みすると異なる値が読める場合があるが、REPEATABLE READでは同一トランザクション中に読んだ行の値は変化しない
  • BREAD COMMITTEDではダーティリードが発生しうるが、REPEATABLE READでは発生しない
  • CREAD COMMITTEDは更新ロックを一切取得しないが、REPEATABLE READはすべての読み取りに対して排他ロックを取得する
  • DREAD COMMITTEDはトランザクションの終了までロックを保持するが、REPEATABLE READはSQL文の実行終了とともにロックを解放する

解説

READ COMMITTEDは各SQL文の実行時点でコミット済みの最新値を読むため、同一トランザクション内で同じ行を再読み込みすると値が変わっていることがある(非再現読取り)。REPEATABLE READはトランザクション開始時点(または初読み時点)の値を維持し、同一トランザクション中は同じ値が読める。なお、両分離レベルともダーティリードは発生しない。

根拠シラバス「期待する技術水準」トランザクション管理(分離レベル)

← 前の問題次の問題 →
スワイプでまとめて流す