MySQL ist eine Open-Source-Software, die auf einem relationalen Datenbankverwaltungssystem basiert. Es wird häufig in Anwendungen verwendet und bietet Entwicklern eine zuverlässige Möglichkeit, Daten zu speichern. Da MySQL bei der Verarbeitung großer Datenmengen jedoch anfällig für Probleme bei der Aufrechterhaltung gesperrter Tabellen ist, müssen Entwickler wissen, wie gesperrte Tabellen abgefragt werden.
Bei der Entwicklung mit MySQL müssen Sie häufig gesperrte Tabellen abfragen. MySQL bietet verschiedene Möglichkeiten zum Abfragen der aktuell gesperrten Tabelle, einschließlich der Verwendung von Befehlszeilentools, der Abfrage von Systemansichten und der Abfrage von Informationsschematabellen. Jede Abfragemethode wird im Folgenden ausführlich erläutert, mit einigen Beispielen.
SHOW PROCESSLIST;
Dadurch wird eine Liste aller derzeit laufenden MySQL-Threads angezeigt. In der Liste können Sie nützliche Informationen wie ID, Benutzer, Host, Datenbank, Befehl, Uhrzeit und Status anzeigen. Wenn beispielsweise ein Thread die Tabelle „Tabellenname“ sperrt, finden Sie das Feld „LOCK“ in der Spalte „Befehl“. Darüber hinaus können Sie in der Spalte „Info“ sehen, welche SQL-Anweisung von der Abfrage ausgeführt wird.
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS WHERE LOCK_TABLE LIKE '%table_name%';
In dieser Abfrageanweisung können Sie „table_name“ durch den Namen der Tabelle ersetzen, die Sie abfragen möchten. Diese Anweisung gibt alle Zeilen und Tabellen zurück, die derzeit von der InnoDB-Engine gesperrt sind. Darüber hinaus können Sie die Ansicht INFORMATION_SCHEMA.INNODB_LOCK_WAITS abfragen, um Threads zu finden, die auf Sperrressourcen warten.
SELECT * FROM information_schema.TABLES WHERE ENGINE = 'InnoDB' AND TABLE_NAME = 'table_name';
In der obigen Abfrage können Sie „table_name“ durch den Namen der Tabelle ersetzen, die Sie abfragen möchten. Diese Abfrage gibt Details zum angegebenen Tabellenserver und zur angegebenen Speicher-Engine zurück. Wenn die Tabelle gesperrt ist, kann der Sperrtyp im Feld LOCK_TYPE angezeigt werden.
Zusammenfassung:
MySQL Es gibt verschiedene Möglichkeiten, gesperrte Tabellen abzufragen. Verwenden Sie das Befehlszeilentool, um laufende Threads abzufragen und Threads zu finden, die eine bestimmte Tabelle sperren. Verwenden Sie Systemansichten, um laufende Vorgänge, wartende Vorgänge und Vorgänge zum Erlangen von Sperren zu ermitteln, um die Spalte „QUERY“ zu finden ob es sich bei der ausgeführten Abfrage um eine Sperre oder eine andere Abfrage handelt. Bitte beachten Sie jedoch, dass Sie vor der Durchführung von Änderungen die offizielle MySQL-Dokumentation sorgfältig lesen, um alle erforderlichen Kenntnisse und Empfehlungen zu verstehen und unnötige Verluste zu vermeiden.
Das obige ist der detaillierte Inhalt vonBesprechen Sie ausführlich die Tabelle mit der MySQL-Abfragesperre. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!