Database Systems
Committing your transactions…
Initializing Sorting Algorithms...
Sorting
Trees
Graphs
Preparing interactive visualizations...
Database Systems
Committing your transactions…
Two transactions share one table. Each isolation level is a different promise about what one may see of the other — watch the anomalies appear, and the locks that make them disappear.
Click Play to begin.
| Level | Dirty read | Non-repeatable read | Phantom | Lost update |
|---|---|---|---|---|
| Read Uncommitted | yes | yes | yes | yes |
| Read Committed | no | yes | yes | yes |
| Repeatable Read | no | no | yes | no |
| Serializable | no | no | no | no |
Every cell is produced by running this page’s engine on that scenario. Real engines differ in places: PostgreSQL treats Read Uncommitted as Read Committed and reaches the stronger levels with MVCC snapshots instead of read locks.
Question 1 of 3
Which anomaly can still happen at Read Committed?