sql / expert
Snippet
Erzwingen von Serialisierbarkeit in konkurrierenden Transaktionen
Die Isolationsstufe SERIALIZABLE ist die höchste vom ANSI-SQL-Standard definierte Stufe. Sie stellt sicher, dass das Ergebnis konkurrierender Transaktionen äquivalent zu einer seriellen Ausführung ist, wodurch Anomalien wie Phantom-Reads, nicht-reproduzierbare Lesevorgänge und Write-Skew verhindert werden.
snippet.sql
1
2
3
4
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;UPDATE accounts SET balance = balance - 1000 WHERE id = 1;UPDATE accounts SET balance = balance + 1000 WHERE id = 2;COMMIT;
Erklärung
1
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE
Legt die strengsten Konsistenzbedingungen für den aktuellen Transaktionsbereich fest.
2
COMMIT
Schließt die atomare Arbeitseinheit ab und stellt sicher, dass alle Änderungen nur persistiert werden, wenn keine Serialisierungskonflikte aufgetreten sind.