ACIDはデータベースのトランザクションが満たすべき4つの基本的な特性を表す頭文字で、それぞれAtomicity(原子性)、Consistency(一貫性)、Isolation(分離性)、Durability(耐久性)を指します。この中で、Isolation(分離性)はトランザクションが他のトランザクションから独立して実行されることを保証する特性を指します。 分離性 (Isolation) の主な目的は、複数のトランザクションが同時に実行される場合に、それらが互いに干渉しないようにすることです。これにより、各トランザクションは他のトランザクションが存在しないかのように動作し、データベースの一貫性が保たれます。
ANSIによって定められている4つの分離レベルで解決する。
Read Uncommitted: この分離レベルは最も低く、他のトランザクションによって変更されたがまだコミットされていないデータの読み取りを許可します。Dirty Reads、Non-Repeatable Reads、および Phantom Reads の異常が発生する可能性があり
Read Committed
この分離レベルは、他のトランザクションがコミットするまでデータの読み取りをブロックします。
Dirty Readsは防止されますが、Non-Repeatable ReadsとPhantom Readsの異常が発生する可能性があります。
ブロックするが、データの取得は可能。ただし、更新前のものが取得される。そのため、更新後に同じクエリを実行すると違う結果になる。3を引き起こす。