1. Transaktionen haben ACID-Eigenschaften
2. Transaktionsisolationsebene 1) Definition und Probleme der Isolationsstufe
2) Wenn Sie die Änderungs- und Isolationsstufe von MySQL anzeigen Variablen wie „tx_isolation“ anzeigen; # Isolationsebene vor MySQL8 anzeigen Variablen wie „transaction_isolation“ anzeigen; # Isolationsebene vor MySQL8 anzeigen setze global transaction_isolation='READ-COMMITTED'; // Setze die Isolationsebene, Ventildomäne READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE Die Transaktionsisolationsebene kann auf Sitzungsebene liegen. Wir können für verschiedene Sitzungen unterschiedliche Ebenen festlegen: Legen Sie die Isolationsebene für Sitzungstransaktionen fest und lesen Sie nicht fest. Isolationsstufe für Sitzungstransaktionen festlegen, Lesen festgeschrieben; Legen Sie die Isolationsstufe für Sitzungstransaktionen fest und erlauben Sie ein wiederholbares Lesen. Legen Sie die serialisierbare Isolationsebene für Sitzungstransaktionen fest. 3) Isolationsstufe für Spring-Transaktionen Spring-Transaktionen verwenden standardmäßig die Datenbankisolationsstufe. Sie können die Sitzungsisolationsstufe anpassen, indem Sie den Isolationsparameter in @Transactional kommentieren. Die Isolationsebene befindet sich auf Sitzungsebene und die JDBC-Schnittstelle java.sql.Connection unterstützt das Festlegen der Isolationsebene. Wenn Spring eine Transaktion startet (DataSourceTransactionManager.doBegin), legt es die Isolationsstufe der Verbindung entsprechend der Annotation-Konfiguration fest: Der MySQL-Treiber com.mysql.cj.jdbc.ConnectionImpl führt SQL-Anweisungen aus, um die Isolationsstufe auf Sitzungsebene anzupassen 3. Sackgasse Ein Deadlock tritt auf, wenn zwei oder mehr Transaktionen dieselbe Ressource belegen und die Sperrung der von den anderen Transaktionen belegten Ressourcen anfordern, wodurch ein Teufelskreis entsteht. Deadlock-Beispiel: # Transaktion 1 Transaktion starten; Konto aktualisieren, Geld festlegen=10, wobei ID=1; Konto aktualisieren, Geld festlegen=20, wobei ID=2; begehen; # Transaktion 2, Transaktion starten; Konto aktualisieren, Geld festlegen=10, wobei ID=2; Konto aktualisieren, Geld festlegen=20, wobei ID=1; begehen; Angenommen, Transaktion 1 und Transaktion 2 führen zufällig gleichzeitig die erste Aktualisierungsanweisung aus und bereiten sich dann auf die Ausführung der zweiten Aktualisierungsanweisung vor, stellen jedoch fest, dass der Datensatz von der anderen Partei gesperrt wurde. Dann warten die beiden Transaktionen darauf, dass die andere Partei Ressourcen freigibt, während sie die von der anderen Partei benötigte Sperre aufrechterhalten, was zu einer Endlosschleife führt. Um Deadlock-Probleme zu vermeiden, implementiert die Datenbank verschiedene Mechanismen zur Deadlock-Erkennung und zur Vermeidung von Deadlock-Überlängen. InnoDB behandelt Deadlocks, indem es die Transaktion zurücksetzt, die die kürzeste exklusive Sperre auf Zeilenebene enthält. Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Vue implementiert Mehrfachauswahl im unteren Popup-Fenster
>>: Detaillierte Erläuterung häufiger Xshell-Probleme und zugehöriger Konfigurationen
Der Code kann noch weiter optimiert werden. Aus Z...
Das einfache, nahtlos scrollende Karussell weist ...
Vorwort Ich bin kürzlich bei der Arbeit auf ein P...
Einführung Weil JavaScript standardmäßig ein Thre...
Inhaltsverzeichnis 1. Beispiel für die Anzeige de...
RedHat6.5 Installation MySQL5.7 Tutorial teilen, ...
Einführung in die Verwendung des MySQL-Schlüsselw...
Beim Entwerfen einer Seite müssen wir das DIV häu...
1. Um die MySQL-Datenbank herunterzuladen, besuch...
Erstellen Sie zunächst ein spezielles Projektverz...
1. Grundlegende Grammatik Code kopieren Der Code ...
Das „nofollow“-Tag wurde vor einigen Jahren von G...
1. css: dragTable.css @Zeichensatz "UTF-8&qu...
Das Feld im JSON-Format ist ein neues Attribut, d...
In diesem Artikel werden hauptsächlich drei Metho...