*[情報処理]Isolationレベル

http://www.microsoft.com/japan/msdn/sqlserver/columns/webtech/webtech3.asp
かな〜りわかっりやっしぃ。

  • 更新データの損失・・・更新トランザクション中に排他ロックがかからず、別のトランザクションが実行できてしまうこと。
  • ダーティ リード ・・・別のトランザクションによってデータが更新された状態(だけど、まだcommitしてない)のデータを読んでしまうこと。
  • 反復不可能読み取り ・・・トランザクション中に何回か値を読むときに、読むたびに値が変わってること。
  • ファントム値・・・トランザクション中に、突然、現れたり消えてしまう、お化け (Phantoms) のようなデータ。ユーザー 1 は検索条件を使って一連の行を読み取る。ユーザー 2 は同じ検索条件を満たす 1 つまたは複数の行を挿入した後、コミットします。ユーザー 1 が検索条件を使って再び行を読み取ると、前は存在しなかった行が現れる。
  • Read Uncommitted・・・ロックはDBの更新に対して取得する。
  • Read Committed・・・ロックはDBの読み取り、更新に対して取得する。読み取りしたデータのロックは読み取り後に解除するが、更新したデータのロックはトランザクション終了まで保持される。
  • Repeatable Read・・・ロックはDBの読み取り、更新に対して取得する。読み取り・更新したデータはトランザクション終了まで保持する。
  • Serializable・・・すべてのトランザクションに対し、ロックをかける。トランザクションが並列に動作しない(同時並列実行がない)。

Isolationレベル ダーティ リード 反復不可能読み取り ファントム値

Read uncommited

はい

はい

はい

Read committed

いいえ

はい

はい

Repeatable read

いいえ

いいえ

はい

Serializable

いいえ

いいえ

いいえ