Probleme mit Sperren in MySQL

Probleme mit Sperren in MySQL

Schlossklassifizierung:

Aus der Granularität der Datenoperationen:

Tischsperre: Während des Betriebs wird der komplette Tisch gesperrt. Zeilensperre: Bei einer Bedienung wird die aktuelle Bedienzeile gesperrt.

Nach Art der Datenoperation:

Lesesperre (Shared Lock): Es können mehrere Lesevorgänge gleichzeitig auf dieselben Daten angewendet werden, ohne dass sich diese gegenseitig beeinträchtigen. Schreibsperre (exklusive Sperre): Sie blockiert das Schreiben anderer Clients, bis der aktuelle Vorgang abgeschlossen ist.

Bildbeschreibung hier einfügen


Zeilentabellen-Sperrfunktionen:

Bildbeschreibung hier einfügen


MyISAM-Tabellensperren:

So fügen Sie eine Tabellensperre hinzu
MyISAM fügt vor der Ausführung einer Abfrageanweisung (SELECT) automatisch Lesesperren für alle beteiligten Tabellen hinzu.
INSERT usw.), wird die Schreibsperre automatisch zur betreffenden Tabelle hinzugefügt. Dieser Vorgang erfordert kein Eingreifen des Benutzers. Daher müssen Benutzer LOCK im Allgemeinen nicht direkt verwenden.
Der Befehl TABLE sperrt explizit eine MyISAM-Tabelle.

Bildbeschreibung hier einfügen

Kurz gesagt: Lesesperren blockieren Schreibvorgänge, aber keine Lesevorgänge. Eine Schreibsperre blockiert sowohl das Lesen als auch das Schreiben.

Darüber hinaus erfolgt die Lese-/Schreibsperrenplanung von MyISAM zuerst nach dem Schreibprinzip. Deshalb ist MyISAM nicht als Speicher-Engine für schreibdominante Tabellen geeignet. Da andere Threads nach Erhalt der Schreibsperre keine Vorgänge mehr ausführen können, erschwert eine große Anzahl von Aktualisierungen der Abfrage das Erhalten der Sperre, was zu einer dauerhaften Blockierung führt.


InnoDB-Zeilensperren

Einführung in Zeilensperren. Funktionen von Zeilensperren: Auf die InnoDB-Speicher-Engine ausgerichtet, hoher Overhead, langsame Sperren, Deadlocks können auftreten, minimale Sperrgranularität, geringste Wahrscheinlichkeit von Sperrkonflikten und höchste Parallelität.
Es gibt drei große Unterschiede zwischen InnoDB und MyISAM: Erstens unterstützt es Transaktionen, zweitens verwendet es Sperren auf Zeilenebene und drittens unterstützt es Fremdschlüssel.

Transaktionen:
Eine Transaktion ist eine logische Verarbeitungseinheit, die aus einer Gruppe von SQL-Anweisungen besteht.

Vier Hauptmerkmale von Transaktionen (ACID):

Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

Dies ist das Ende dieses Artikels über MySQL-Sperrprobleme. Weitere Informationen zu MySQL-Sperrproblemen finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Analyse von MySQL-Lock-Wait- und Deadlock-Problemen
  • Detaillierte Analyse der MySQL-Sperrblockierung
  • Zusammenfassung der MySQL-Sperrwissenspunkte

<<:  Detaillierte Erläuterung des Prozesses zum Erstellen eines MQTT-Servers mit Docker

>>:  JavaScript implementiert coole Mouse-Tailing-Effekte

Artikel empfehlen

So verwenden Sie JS WebSocket zur Implementierung eines einfachen Chats

Inhaltsverzeichnis Kurze Umfrage Langfristige Abf...

Sprechen Sie über nextTick in Vue

Wenn sich die Daten ändern, wird die DOM-Ansicht ...

So verwenden Sie die Wurmreplikation in einer MySQL-Datentabelle

Einfach ausgedrückt besteht die MySQL-Wurmreplika...

So laden Sie das JAR-Paket über die Webseite auf Nexus hoch

Wie lädt man das JAR-Paket in ein privates Lager ...

Installieren Sie MySQL offline mit RPM unter CentOS 6.4

Verwenden Sie das RPM-Installationspaket, um MySQ...

Zusammenfassung der Dateninteraktion zwischen Docker-Container und Host

Vorwort Beim Einsatz von Docker in einer Produkti...

Analyse der Implementierung der Nginx Rush-Kaufstrombegrenzungskonfiguration

Aus geschäftlichen Gründen kommt es häufig zu Eil...

Vue3 kapselt seine eigene Paging-Komponente

In diesem Artikelbeispiel wird der spezifische Co...

Ursachenanalyse und Lösung des E/A-Fehlers beim Löschen einer MySQL-Tabelle

Problemphänomen Ich habe kürzlich Sysbench verwen...

Probleme und Lösungen beim Ersetzen von Oracle durch MySQL

Inhaltsverzeichnis Migrationstools Anwendungstran...

Tutorial zur Bereitstellung und Installation von MySQL 8.0.18 unter Windows 7

1. Vorbereitende Schritte (Windows 7 + MySQL-8.0....