Vorwort: Heutzutage sind Datenbankoperationen zunehmend zum Leistungsengpass der gesamten Anwendung geworden, insbesondere bei Webanwendungen. Was die Leistung der Datenbank betrifft, ist dies nicht nur etwas, worüber sich Datenbankadministratoren Sorgen machen müssen, sondern auch wir Programmierer müssen darauf achten. Wenn wir die Datenbanktabellenstruktur entwerfen und die Datenbank betreiben (insbesondere SQL-Anweisungen beim Nachschlagen von Tabellen), müssen wir auf die Leistung von Datenoperationen achten.
1. Langsame Abfrage aktivieren
1> 查看慢查询是否开启 show variables like "%quer%"; slow_query_log = ON #已开启
2 Methode aktivieren: my.cnf-Verzeichniskonfiguration
slow_query_log=on #是否开启 slow_query_log_file=/opt/MySQL_Data/TEST1-slow.log #慢查询文件位置 long_query_time=2 #查询超过多少秒才记录
2 SELECT-Abfrage
Erklärung der Spalte
Tabelle: Zeigt an, um welche Tabelle es in dieser Datenzeile geht
Typ: Dies ist eine wichtige Spalte, die die verwendete Verbindung anzeigt. Welcher Typ. Die Join-Typen vom besten zum schlechtesten sind const, eq_reg, ref, range, index, all
possible_keys: Zeigt die Indizes an, die auf diese Tabelle angewendet werden können. Wenn leer, ist kein Index möglich. Eine entsprechende Anweisung kann aus der where-Anweisung für die entsprechende Domäne
key ausgewählt werden: Der tatsächlich verwendete Index. Wenn null, wird kein Index verwendet. In seltenen Fällen wählt MySQL einen Index aus, der nicht ausreichend optimiert ist. In diesem Fall können Sie „use index (indexname)“ in der SELECT-Anweisung verwenden, um die Verwendung eines Index zu erzwingen, oder „ignore index (indexname)“ verwenden, um MySQL zu zwingen, den Index zu ignorieren
key_len: die Länge des Index gebraucht. Je kürzer die Länge, desto besser, ohne an Genauigkeit zu verlieren
ref: Zeigt an, welche Spalte des Index verwendet wird, wenn möglich eine Konstante
rows: mysql denkt, dass es überprüft werden muss Die Anzahl der verwendeten Zeilen um die angeforderten Daten zurückzugeben
extra: Zusätzliche Informationen darüber, wie MySQL die Abfrage analysiert. Beispiel: Verwendung von temporären Dateien und Verwendung von Filesort, was bedeutet, dass MySQL überhaupt keine Indizes verwenden kann und das Ergebnis ist, dass der Abruf sehr langsam ist
[Verwandte Empfehlungen]
1 Kostenloses MySQL-Online-Video-Tutorial
2.Neuestes MySQL-Handbuch-Tutorial
3. Diese Dinge über DatenbankdesignDas obige ist der detaillierte Inhalt vonEinführung in langsame MySQL-Abfragen und EXPLAIN. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!