Non-Repeatable Read
Ein Non-Repeatable Read liegt vor, wenn dieselbe Transaktion dieselbe Zeile zweimal liest und unterschiedliche Werte erhält (eine andere Transaktion hat eine Änderung committet); eine Anomalie, die unter Read Committed bestehen bleibt.
Zweck
Non-Repeatable Reads von Phantom Reads unterscheiden und den Wert der Isolationsstufe Repeatable Read verstehen.
Mechanismus
Transaktion A liest Zeile X zweimal; Transaktion B ändert und committet X dazwischen, sodass A unterschiedliche Werte sieht. Gegenüber dem Phantom Read: Der Non-Repeatable Read ändert den Zeileninhalt, der Phantom Read die Zeilenzahl. Repeatable Read und höher verhindern ihn.
Anwendungsfälle
- Analyse von Nebenläufigkeitsanomalien
- Wahl der Isolationsstufe
- Transaktionskonsistenz