Heim  >  Artikel  >  Datenbank  >  Was ist die MySQL-Abfrage-Deadlock-Anweisung?

Was ist die MySQL-Abfrage-Deadlock-Anweisung?

藏色散人
藏色散人Original
2023-02-15 10:00:504168Durchsuche

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.

Was ist die MySQL-Abfrage-Deadlock-Anweisung?

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;

3. Fragen Sie die Transaktion ab, die auf die Sperre wartet

select * from information_schema.innodb_locks;

select * from information_schema.innodb_lock_waits;

5. Alle Threads abfragen

select * from information_schema.innodb_trx

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn