Ich kenne lediglich den Isolationsgrad der Dinge, habe sie jedoch noch nie bedient. Dirty Read: Eine Transaktion hat ein Datenelement aktualisiert und eine andere Transaktion liest zu diesem Zeitpunkt dieselben Daten. Aus irgendeinem Grund führt die vorherige Transaktion einen RollBack für den Vorgang aus, sodass die von der letzteren Transaktion gelesenen Daten falsch sind. Nicht wiederholbares Lesen: Die Daten zwischen zwei Abfragen in einer Transaktion sind inkonsistent. Dies kann daran liegen, dass eine Transaktion die Originaldaten zwischen den beiden Abfragen aktualisiert hat. Phantom Read: Die Anzahl der Dateneinträge in zwei Abfragen einer Transaktion ist inkonsistent. Beispielsweise fragt eine Transaktion mehrere Datenspalten ab, während eine andere Transaktion zu diesem Zeitpunkt mehrere neue Datenspalten einfügt. In der nächsten Abfrage findet die vorherige Transaktion mehrere Datenspalten, die sie vorher nicht hatte. 4 Isolationsebenen von MySQL read uncommitted: Daten lesen, die nicht festgeschrieben wurden: Keines der Probleme ist gelöst
Erstellen Sie eine Datentabelle:Tabelle erstellen shuzhi ( id mediumint(8) Primärschlüssel, Name varchar(30), Shuzhi-Mittelwert (10) ); Tabelle ändern Shuzhi Engine = InnoDB; in Shuzhi-Werte einfügen (1, 'aa', 1000); in Shuzhi-Werte einfügen (2, „bb“, 2000); in Shuzhi-Werte einfügen (3, „cc“, 3000); in Shuzhi-Werte einfügen (4, 'dd', 4000); in Shuzhi-Werte einfügen (5, 'ee', 5000); in Shuzhi-Werte einfügen (6, „ff“, 6000); in Shuzhi-Werte einfügen (7, „gg“, 7000); in Shuzhi-Werte einfügen (8, „hh“, 8000); Beginnen Sie mit dem Testen der vier Isolationsebenen von Transaktionen. Die erste: read uncommitted Festlegen der Isolationsebene#Fragen Sie die aktuelle Isolationsstufe ab SELECT @@tx_isolation #Isolationsstufe festlegen Isolationsstufe für Sitzungstransaktionen festlegen [Isolationsstufe] Sitzungstransaktionsisolierungsebene festlegen Lesen nicht festgeschrieben Starten Sie zuerst den ersten Prozess und starten Sie die Transaktion, ohne sie noch abzufragen Fenster 1 Transaktion starten; Öffnen Sie dann den zweiten Prozess (Terminal) Fenster 2 Transaktion starten; Aktualisiere Shuzhi, setze Shuzhi='8888', wobei ID=7 ist; Gehen Sie zur Datenbankabfrage und stellen Sie fest, dass der Wert von id = 7 immer noch 7000 ist und sich der Wert nicht geändert hat Gehen Sie zu Fenster 1, um diesen Datensatz abzufragen Fenster 1 Transaktion starten; Wählen Sie * aus Shuzhi, wobei ID = 7 ist. Es wird festgestellt, dass die gelesenen Daten die in Fenster 2 übermittelten Daten sind, nicht 7000 Dies ist das Ende dieses Artikels über Details und Beispiele zur MySQL-Isolationsebene. Weitere Informationen zur MySQL-Isolationsebene finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen! Das könnte Sie auch interessieren:
|
<<: Select unterstützt kein Doppelklick-DBClick-Ereignis
>>: Demo für 10-Farbverlaufshintergrund des CSS-Containers (linear-gradient())
Der spezifische Code zur Implementierung von Skin...
Ich habe Apache nie verwendet. Nachdem ich angefa...
1. Vergleichen Sie den alten virtuellen DOM mit d...
Inhaltsverzeichnis 1. Einleitung 2. Haupttext 2.1...
Vorwort Ich arbeite derzeit an einem hochwertigen...
Dieser Artikel enthält das ausführliche Installat...
Lassen Sie mich Ihnen nun eine Frage stellen. Was...
Inhaltsverzeichnis 1. Docker installieren 2. Inst...
Sie können das Attribut in HTML5 verwenden <inp...
Gruppieren und Verknüpfen sind in MySQL die beide...
Der heutige Artikel stellt hauptsächlich den Neul...
Überblick Volume ist die Abstraktion und Virtuali...
Bei der Verwendung von Docker wurden mehrere Prob...
Offizielle Website-Adresse von CentOS https://www...
Inhaltsverzeichnis 1. Grundlagen der Audiowiederg...