MySQL-Methode zum Überprüfen, ob die Tabelle gesperrt ist: Rufen Sie zuerst das Befehlsfenster auf und führen Sie dann den Befehl „show engine innodb statusG;“ aus, um die SQL-Anweisung zu überprüfen, die den Deadlock verursacht, und die Indexsituation zu analysieren.
kann direkt in der MySQL-Befehlszeile ausgeführt werden: show engine innodb statusG;
Sehen Sie sich die SQL-Anweisungen an, die den Deadlock verursacht haben und die Indexsituation analysieren, dann SQL optimieren und dann Prozessliste anzeigen;
Empfohlener Kurs: MySQL-Tutorial.
mysql> show status like 'Table%';
+----------------------------+----------+ | Variable_name | Value | +----------------------------+----------+ | Table_locks_immediate | 105 | | Table_locks_waited | 3 | +----------------------------+----------+
Table_locks_immediate bezieht sich auf die Häufigkeit, mit der Sperren auf Tabellenebene sofort erhalten werden können. Die Häufigkeit, mit der auf den Erhalt von Sperren auf Tabellenebene gewartet werden muss
//查看慢查询时间 show variables like "long_query_time";默认10s //查看慢查询配置情况 show status like "%slow_queries%"; //查看慢查询日志路径 show variables like "%slow%"; -slow_query_log是否记录慢查询。用long_query_time变量的值来确定“慢查询”。 -slow_query_log_file慢日志文件路径 -long_query_time慢日志执行时长(秒),超过设定的时间才会记日志Kommen Sie zurück zum Punkt, zurück zum Ausgangspunkt unseres Problems. MySQL-Abfragetabellen-Deadlock und Tabellenschritte zum Beenden des Deadlocks 1. Fragen Sie ab, ob die Tabelle gesperrt ist, und zeigen Sie OPEN TABLES an, wo In_use > 0;2. Fragen Sie den Prozess abzeigen Sie die Prozessliste an. Fragen Sie den entsprechenden Prozess ab === und beenden Sie dann die IDZusätzlich: Anzeigen des Transaktion wird gesperrtSELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS; Transaktionen anzeigen, die auf Sperren wartenSELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
Das obige ist der detaillierte Inhalt vonMySQL prüft, ob die Tabelle gesperrt ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!