MySQL-Abfrage-Deadlock-Anweisung: 1. Die Anweisung „select * from information_schema.innodb_locks;“ kann bestimmen, ob die Tabelle gesperrt werden soll. 2. Die Anweisung „select * from information_schema.innodb_locks;“ kann die zu sperrende Transaktion abfragen. Die Anweisung „select * „from information_schema…“ fragt die Transaktionen ab, die auf Sperren usw. warten.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, MySQL Version 5.7, Dell G3-Computer.
Was ist die Deadlock-Anweisung in einer MySQL-Abfrage?
MySQL-Abfragetabellen-Deadlock-Anweisung
1. Bestimmen Sie, ob die Tabelle gesperrt werden soll
select * from information_schema.innodb_locks;
Nach dem Login kopieren
Nach dem Login kopieren
3. Fragen Sie die Transaktion ab, die auf die Sperre wartet
select * from information_schema.innodb_locks;
Nach dem Login kopieren
Nach dem Login kopieren
select * from information_schema.innodb_lock_waits;
Nach dem Login kopieren
5. Alle Threads abfragen
select * from information_schema.innodb_trx
Nach dem Login kopieren
Verwandte Erweiterungen:
Sperrungstyp von MySQL: Seitenebene, Tabellenebene, Zeilenebene
Sperre auf Tabellenebene: geringer Overhead, schnelles Sperren; kein Deadlock; Sperren Mit großer Granularität Die Wahrscheinlichkeit eines Sperrkonflikts ist am höchsten und die Parallelität am niedrigsten.
Sperren auf Zeilenebene: Hoher Overhead, langsame Sperren; die Sperrgranularität ist am geringsten, die Wahrscheinlichkeit von Sperrenkonflikten ist am höchsten.
Seitensperre: Die Kosten und die Sperrzeit liegen zwischen Tabellensperren und Zeilensperren. Die Sperrgranularität liegt zwischen Tabellensperren und Zeilensperren, und die Parallelität ist durchschnittlich. Ursache:
Death Lock bezieht sich auf Ein Phänomen, bei dem zwei oder mehr Prozesse aufgrund des Wettbewerbs um Ressourcen während der Ausführung aufeinander warten. Ohne äußere Kraft können sie nicht weitermachen. Zu diesem Zeitpunkt befindet sich das System in einem Deadlock-Zustand Diese Prozesse, die immer aufeinander warten, werden Deadlock-Prozesse genannt. Sperren auf Tabellenebene verursachen keine Deadlocks. Daher konzentriert sich die Lösung von Deadlocks hauptsächlich auf die am häufigsten verwendete InnoDB.
Der Schlüssel zum Deadlock liegt darin, dass die Reihenfolge, in der zwei (oder mehr) Sitzungen gesperrt werden, inkonsistent ist.
Dann ist der entsprechende Schlüssel zur Lösung des Deadlock-Problems: Verschiedene Sitzungen der Reihe nach sperren
Empfohlenes Lernen: „
MySQL-Video-Tutorial
“
Das obige ist der detaillierte Inhalt vonWas ist die MySQL-Abfrage-Deadlock-Anweisung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!