Zum Inhalt springen
uencoder

Isolation Level

Isolationsstufen definieren die Sichtbarkeit zwischen nebenläufigen Transaktionen, von Read Uncommitted bis Serializable; höhere Stufen geben stärkere Konsistenz, aber geringere Nebenläufigkeit.

Zweck

Nebenläufigkeits-Performance mit Konsistenz abwägen und eine passende Isolationsstufe wählen.

Mechanismus

Read Uncommitted (Dirty Reads), Read Committed (Non-Repeatable Reads), Repeatable Read (Phantom Reads), Serializable (keine Anomalien). MVCC implementiert Snapshot-Isolation (zwischen Repeatable Read und Serializable). PostgreSQL nutzt standardmäßig Read Committed; MySQL InnoDB Repeatable Read.

Anwendungsfälle

  • Konsistenzsteuerung nebenläufiger Transaktionen
  • Read Committed gegen Dirty Reads
  • Repeatable Read für Berichtskonsistenz
  • Serializable für starke Konsistenz

Beispiele

  • Eingabe
    SET TRANSACTION ISOLATION LEVEL READ COMMITTED
    Output
    Avoids dirty reads

    PostgreSQL default

Häufige Fehler

Low isolation levels cause non-repeatable/phantom reads
Choose the isolation level per business needs

Verwandte Begriffe

References