コンテンツへスキップ
uencoder

Dirty Read

ダーティリードは、あるトランザクションが別のトランザクションの未コミットの変更を読み取ることである。相手がロールバックすると、読み手は実在したことのないデータを見たことになる。

目的

最も低い分離レベルのリスクを理解し、重要なトランザクションが未コミットデータを読まないようにする。

メカニズム

トランザクション A が行 X をコミットせずに変更し、トランザクション B が変更後の X を読む。A がロールバックすると、B はダーティなデータ(コミットされなかったデータ)を読んだことになる。Read Committed 以上の分離レベルで防止できる。

ユースケース

  • トランザクション分離の分析
  • データ整合性の監査
  • 分離レベルの選定

関連ツール

References