Die vier Isolationsstufen von Transaktionen sind: 1. Nicht festgeschriebene Inhalte lesen (Read Uncommitted); 3. Wiederholbares Lesen (Repeatable Read);
Vier Isolationsstufen von Transaktionen:
(empfohlenes Lernen: MySQL-Tutorial)
1. Nicht festgeschriebenen Inhalt lesen – Nicht festgeschriebenen Inhalt lesen
Eine Transaktion kann nicht festgeschriebenen Inhalt anzeigen
Dirty Reading-Probleme treten häufig auf (Dirty Reading: Lesen nicht festgeschriebener (ausgeführter) Inhalte anderer Transaktionen)
Öffnen Sie zwei Transaktionen A und B für dieselbe Datentabelle (A-, B-Transaktionskreuzung) und starten Sie die Transaktion
Eine Transaktion fragt nur den Inhalt in der Datentabelle ab, die B-Transaktion führt Hinzufügungs-, Lösch- und Änderungsvorgänge aus, führt jedoch kein Commit (Senden) aus.
Eine Transaktion kann weiterhin die Daten in der Tabelle abfragen nicht festgeschriebener Inhalt – Dirty Read)
2. Festgeschrieben lesen – den übermittelten Inhalt lesen
Nur eine Transaktion Möglichkeit, übermittelte Inhalte anzuzeigen
Nicht wiederholbare Leseprobleme treten häufig auf (nicht wiederholbare Lesevorgänge: Die Ausführung derselben Select-Anweisung in derselben Transaktion führt zu unterschiedlichen Ergebnissen)
Öffnen Sie zwei Transaktionen A und B für dieselbe Datentabelle (A- und B-Transaktionen überschneiden sich) Transaktion starten
Eine Transaktion fragt nur den Inhalt in der Datentabelle ab, und die B-Transaktion führt Hinzufügungs-, Lösch- und Änderungsvorgänge aus, führt jedoch kein Commit durch ( Senden)
Transaktion A kann die geänderten Daten in der Tabelle nicht abfragen
Transaktion B sendet
Die von A gefundenen geänderten Daten (A fragt zweimal ab, was zu unterschiedlichen Ergebnissen führt - nicht -wiederholbares Lesen)
3. Wiederholbares Lesen - wiederlesbar
Wenn mehrere Instanzen derselben Transaktion gleichzeitig Daten lesen, erhalten Sie das gleiche Ergebnis
Die standardmäßige Transaktionsisolationsstufe von MySQL
führt häufig zu Problemen beim Phantomlesen (Phantomlesen: unterschiedliche Ergebnisse beim mehrmaligen Lesen) (Phantomzeile))
Öffnen Sie zwei Transaktionen A und B für dieselbe Datentabelle (A- und B-Transaktionen kreuzen sich) und starten Sie die Transaktion
Eine Transaktion fragt nur den Inhalt der Datentabelle ab, Transaktion B führt die Addition durch. Lösch- und Änderungsvorgänge, aber kein Commit (Senden)
Eine Transaktion kann den Inhalt der Datenänderungen in der Tabelle nicht abfragen
B-Transaktion wird festgeschrieben
Eine Transaktion fragt den Inhalt ab der Datenänderungen in der Tabelle können nicht gefunden werden
A Senden
A Die Änderungen in den Daten in der Tabelle können abgefragt werden
4. Serialisierbar – Serialisierbar
Die höchste Isolationsstufe
Fügen Sie der Transaktion eine gemeinsame Sperre hinzu, und es kann jeweils nur eine Transaktionsoperation vorhanden sein Gleichzeitig wird das Phantomleseproblem gelöst
Verursacht viele Zeitüberschreitungen und Probleme mit Sperrkonflikten
Öffnen Sie Transaktion A
Dieser Vorgang kann nicht hinzugefügt oder gelöscht werden, wenn Transaktion B geöffnet wird
Das obige ist der detaillierte Inhalt vonWas sind die vier Isolationsstufen von Transaktionen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!