情報処理技術者試験

ISOLATION LEVEL

READ UNCOMMITTED

他トランザクションのコミット前の行を読み取ることができる。

コミット前のデータを読んでしまうので、処理がコミットされずにロールバックされると、間違ったデータを読み込んだまま処理が進んでしまう。(ダーティリード)

READ COMMITTED

コミットされたデータのみを読み取る。MySqlのデフォルト設定はこれになっている。

一度読み込んで、もう一度読み込む間のタイミングで、更新とコミットが行われればデータが変わっている。(ノンリピータブルリード、ファジーリード)

REPEATABLE READ

繰り返し同じデータを読み取っても、同じ内容であることを保証する。

一度読み込んで、もう一度読み込むタイミングで、他のトランザクションによってデータが追加された場合、データが増えてしまうことがある(ファントムリード)

SIRIALIZABLE

他のトランザクションの影響を受けずに1つずつ実行したのと同じ結果を保証する。

ダーティリード、ノンリピータブルリード、ファントムリードは発生しない。

ABOUT ME
hazukei
「はずけい」と申します。 この度一児の父となりました。まだ実感はわかないのですが、猛烈に忙しくなりそうです。楽しみつつ頑張りたいと思います!