Zum Inhalt springen
uencoder

Repeatable Read

Repeatable Read verhindert Dirty Reads und Non-Repeatable Reads: Mehrere Lesevorgänge derselben Zeile innerhalb einer Transaktion liefern identische Ergebnisse, Phantom Reads bleiben jedoch möglich.

Zweck

Bietet stärkere Konsistenz als Read Committed und gewährleistet stabile Lesevorgänge innerhalb einer Transaktion.

Mechanismus

Beim ersten Lesen sperrt die Transaktion die Zeile oder fixiert eine Snapshot-Version; nachfolgende Lesevorgänge derselben Zeile liefern denselben Wert. Bereichsabfragen können jedoch mehr Zeilen liefern, wenn andere Transaktionen einfügen (Phantom Reads). MySQL InnoDB verhindert Phantome durch Next-Key-Locks.

Anwendungsfälle

  • Konsistente Lesevorgänge in Transaktionen
  • Auswahl des Isolationslevels
  • Analyse von Phantom Reads

Verwandte Tools

References