[[情報処理技術者試験 DB]] -ISOLATION LEVEL とは、トランザクションの ''独立性'' or ''分離性'' のレベルのことである。 ~独立性阻害要因(ダーティリード、ノンリピータブルリード、ファントムリード)を認めるかどうかによって、次の表のように四つのレベルに分けられる。 -表ISOLATION LEVEL |LEFT:BGCOLOR(WHITE):|CENTER:BGCOLOR(WHITE):|CENTER:BGCOLOR(WHITE):|CENTER:BGCOLOR(WHITE):|BGCOLOR(WHITE):|c |BGCOLOR(#FFB0B0):CENTER:ISOLATION LEVEL|BGCOLOR(#FFB0B0):ダーティーリード|BGCOLOR(#FFB0B0):ノンリピータブルリード|BGCOLOR(#FFB0B0):ファントムリード|| |BGCOLOR(#FFB0B0):CENTER:ISOLATION LEVEL|BGCOLOR(#FFB0B0):ダーティリード|BGCOLOR(#FFB0B0):ノンリピータブルリード|BGCOLOR(#FFB0B0):ファントムリード|| |READ UNCOMMITED|BGCOLOR(#FFE0E0):発生する|BGCOLOR(#FFE0E0):発生する|BGCOLOR(#FFE0E0):発生する|他のトランザクションで変更されたコミット前の行を読み取れる。&br;※ デッドロックが発生しない!| |READ COMMITED|COLOR(#0000A0):発生しない|BGCOLOR(#FFE0E0):発生する|BGCOLOR(#FFE0E0):発生する|他のトランザクションで変更されたコミット前の行を読み取れない。&br;コミットされたものだけ。| |REPEATABLE READ|COLOR(#0000A0):発生しない|COLOR(#0000A0):発生しない|BGCOLOR(#FFE0E0):発生する|繰り返し同じデータを読み取っても、同じ内容であることを保障する。| |SERIALIZABLE|COLOR(#0000A0):発生しない|COLOR(#0000A0):発生しない|COLOR(#0000A0):発生しない|複数のトランザクションをいくら実行させてもその影響をうけない。&br;1つずつ実行したのと同じ結果を保証する。| ~ |ダーティリード|他のトランザクションで更新されて、まだコミット前のデータ読み込んでしまう。| |ノンリピータブルリード|同じデータを2回リードしたとき、1回目と2回目の間に別のトランザクションによりデータが変更され、不整合が発生する。| |ファントムリード|1回目と2回目のリードの間に他のトランザクションによってデータが追加され、1回目にはなかった”幻のデータ”が発生し、不整合になる。|