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
In diesem Artikelbeispiel wird der spezifische Co...
1. Einführung in nmon Nmon (Nigel's Monitor) ...
Hinweis: Die dritte Methode wird nur in XSell ver...
Linux findet ein bestimmtes Programm, wo ist Der ...
Erfahren Sie, wie Sie Ihre eigene Website auf Apa...
In diesem Artikelbeispiel wird der spezifische Co...
1. Erstellen Sie eine neue virtuelle Maschine aus...
Inhaltsverzeichnis Tutorial-Reihe 1. Einführung i...
In diesem Artikel erfahren Sie, wie Sie Kylin auf...
In diesem Artikel wird hauptsächlich erläutert, w...
Heutzutage gehört die Unterstützung von HTTPS für...
Dockerfile initialisieren Angenommen, unser Proje...
Vue ruft die PC-Kamera auf, um Bilder in Echtzeit...
Als ich kürzlich das Linux-Betriebssystem zum Aus...
Wie können wir sagen, dass wir 404 vermeiden soll...