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

Lösung für „Ubuntu kann keine Verbindung zum Netzwerk herstellen“

Effektive Lösung für Ubuntu, wenn in einer virtue...

So installieren und implementieren Sie MySQL 8.0 unter CentOS8

Die offizielle Version 8.0.11 von MySQL 8 wurde v...

Beispiele für die Verwendung des ES6-Spread-Operators

Inhaltsverzeichnis Was sind Spread- und Rest-Oper...

MySQL 5.7.17 Installations- und Konfigurations-Tutorial unter Linux (Ubuntu)

Vorwort Ich habe MySQL 5.6 bereits installiert. D...

So beheben Sie den Startfehler des Docker-Containers

Frage: Nach dem Neustart des Computers kann der M...

So unterstreichen Sie das A-Tag und ändern die Farbe vor und nach dem Klicken

Code kopieren Der Code lautet wie folgt: ein:link...

Analyse der gemeinsamen Indexfunktion von MySQL und Anwendungsbeispiele

Dieser Artikel veranschaulicht anhand von Beispie...

Die umfassendste package.json-Analyse

Inhaltsverzeichnis 1. Übersicht 2. Namensfeld 3. ...

Lösung für den Konflikt zwischen zwei Registerkartennavigation in HTML

Beginnen wir mit einer Beschreibung des Problems:...

Das Homepage-Design spiegelt am besten das Niveau des Webdesigners wider

Bei den vielen Projekten, an denen ich mitgearbei...

Detaillierte Erläuterung der Kernkonzepte und Fälle von webpack-dev-server

Kernkonzepte von webpack-dev-server Webpacks Cont...