Heim >Datenbank >MySQL-Tutorial >Einführung in das Transaktionslernen von MySQL-InnoDB
MySQL-Video-Tutorial Die Kolumne stellt das Lernen von InnoDB-Dingen vor
Eigenschaften von Dingen (ACID )
KonsistenzIsolation
Haltbarkeit
Verteilte Transaktionen
innodb_flush_log_at_trx_commit
0: Master-Thread schließt das Schreiben auf die Festplatte ab512 Bytes stimmen mit der Größe des Festplattenbergbereichs überein und stellen sicher, dass das Protokollschreiben atomar ist und kein doppeltes Schreiben erforderlich ist? Technologie
ist unterteilt in 512 - 12 -8 = 492
Redo-Log-Inhalt: Redo-Log-Ende: 8 Bytes
LOG_BLOCK_HAR_NO [4 Bytes]: Protokollblock Am Standort des ProtokollpufferLOG_BLOCK_HAR_DATA_LEN [2 Bytes]: die vom Protokollblock belegte Größe
LOG_BLOCK_FIRST_REC_GROUP [2 Bytes]: der Offset des ersten Protokolls
Log-Gruppe
bestehend aus mehreren Redo-Log-Dateien
Redo-Log-Format
redo_log_type: Art des Redo-Logs
page_no : Seitenversatz
LSN (Log-Sequenznummer)
8 Bytes, monoton ansteigendBedeutung:
Gesamtzahl der Redo-Log-SchreibvorgängePrüfpunktposition
Version der Seite
Rückgängig machen
Segment rückgängig machen:
(128) Rollback-Segment > (1024) Rückgängig-Segment im gemeinsam genutzten Tabellenbereich, Transaktionsparallelität ist auf 128*1024 begrenztGruppen-Commit
Isolationsebene der Dinge
READ UNCOMMIT: Die Abfrageanweisung wird nicht gesperrt und nicht festgeschriebene Zeilen können gelesen werden (Dirty Read)READ COMMIT: Den Datensätzen werden nur Datensatzsperren hinzugefügt Zwischen Datensätzen werden keine Lückensperren hinzugefügt. Daher können neue Datensätze in der Nähe der gesperrten Datensätze eingefügt werden. Wenn die Abfrageanweisung also mehrmals verwendet wird, können unterschiedliche Ergebnisse erzielt werden (nicht wiederholbares Lesen). EPEATABLE READ: Lesen Derselbe Datenbereich wird mehrmals als Snapshot der ersten Abfrage zurückgegeben, es können jedoch Phantom-Lesevorgänge (Phantom Read) auftreten.
SERIALIZABLE: InnoDB löst das Problem von Phantom-Lesevorgänge;
Dirty Reads: In einer Transaktion werden nicht festgeschriebene Daten anderer Transaktionen gelesen.
Nicht wiederholbare Lesevorgänge: In einer Transaktion wird zweimal auf den gleichen Zeilendatensatz zugegriffen, mit unterschiedlichen Ergebnissen.
Der Grund für das nicht wiederholbare Lesen liegt darin, dass die Speicher-Engine unter der Isolationsstufe READ COMMITED beim Abfragen von Datensätzen keine Zeilensperren hinzufügt und den Datensatz mit der ID = 3 sperrt.
Verteilte Dinge
XA
Ressourcenmanager: Bietet Methoden für den Zugriff auf Transaktionsressourcen.
Transaktionsmanager: Koordiniert verschiedene Dinge, die an globalen Dingen beteiligt sindDas obige ist der detaillierte Inhalt vonEinführung in das Transaktionslernen von MySQL-InnoDB. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!