In MySQL zeichnet das langsame Abfrageprotokoll Anweisungen auf, deren Antwortzeit den Schwellenwert überschreitet. Der Antwortzeitschwellenwert ist der Wert, dessen Laufzeit „long_query_time“ überschreitet Die obige SQL-Anweisung läuft länger als zehn Sekunden. Das langsame Abfrageprotokoll schreibt Protokolldatensätze in Protokolldateien und Datenbanktabellen.
Die Betriebsumgebung dieses Tutorials: Windows10-System, MySQL8.0.22-Version, Dell G3-Computer.
Die langsame Abfrage von MySQL, der vollständige Name ist langsames Abfrageprotokoll, ist ein von MySQL bereitgestellter Protokolldatensatz, der zum Aufzeichnen von Anweisungen verwendet wird, deren Antwortzeit den Schwellenwert in MySQL überschreitet.
In bestimmten Umgebungen werden SQL-Anweisungen, deren Laufzeit den Wert long_query_time überschreitet, im langsamen Abfrageprotokoll aufgezeichnet.
Der Standardwert von long_query_time ist 10, was bedeutet, dass Anweisungen aufgezeichnet werden, die länger als 10 Sekunden laufen.
Standardmäßig startet die MySQL-Datenbank das langsame Abfrageprotokoll nicht und Sie müssen diesen Parameter manuell festlegen.
Wenn dies nicht für die Optimierung erforderlich ist, wird die Aktivierung dieses Parameters im Allgemeinen nicht empfohlen, da die Aktivierung langsamer Abfrageprotokolle gewisse Auswirkungen auf die Leistung hat.
Das langsame Abfrageprotokoll unterstützt das Schreiben von Protokolldatensätzen in Protokolldateien und Datenbanktabellen.
Parameterbeschreibung
slow_query_log: Ob das langsame Abfrageprotokoll aktiviert werden soll, 1 bedeutet ein, 0 bedeutet aus.
log-slow-queries: Alte Version (Version unter 5.6) Speicherpfad für langsames Abfrageprotokoll der MySQL-Datenbank. Sie können diesen Parameter nicht festlegen und das System verwendet standardmäßig eine Standarddatei host_name-slow.log
slow-query-log-file: die neue Version (5.6 und höher) des langsamen Abfrageprotokollspeicherpfads der MySQL-Datenbank. Sie können diesen Parameter nicht festlegen und das System verwendet standardmäßig eine Standarddatei host_name-slow.log
long_query_time: langsamer Abfrageschwellenwert. Wenn die Abfragezeit den festgelegten Schwellenwert überschreitet, werden Protokolle aufgezeichnet.
log_queries_not_using_indexes: Abfragen, die keine Indizes verwenden, werden auch im langsamen Abfrageprotokoll protokolliert (optional).
log_output: Protokollspeichermethode. log_output='FILE' bedeutet, das Protokoll in einer Datei zu speichern, und der Standardwert ist 'FILE'. log_output='TABLE' bedeutet, das Protokoll in der Datenbank zu speichern.
Erweiterte Kenntnisse:
1. Überprüfen Sie den Status der langsamen Protokollfunktion. Zeigen Sie Variablen wie „%slow_query_log%“ an ist deaktiviert und die langsame Protokollierung wird in der Datei DESKTOP-2331B4V-slow.log gespeichert. DESKTOP ist mein Computername.
2. Aktivieren Sie die Funktion „Slow Log“ und setzen Sie global slow_query_log=1;
Fragen Sie dann den Status der langsamen Protokollierung ab. Der Status lautet „ON“, was bedeutet, dass die Funktion „Slow Log“ aktiviert ist.
3. Überprüfen Sie die Standardzeit für long_query_time
long_query_time beträgt 10 Sekunden, was bedeutet, dass SQ-Anweisungen, die 10 Sekunden überschreiten, im langsamen Protokoll aufgezeichnet werden.
4. Stellen Sie die Dauer von long_query_time ein. Stellen Sie global long_query_time=3 ein.
Wenn es sich um ein Fenstersystem handelt, geben Sie einfach erneut einen Befehl ein die Sitzung, in der long_query_time festgelegt ist) Wenn Sie die Dauer von long_query_time abfragen, beträgt sie immer noch die Standardeinstellung von 10 Sekunden, Sie müssen also eine Sitzung neu starten) und die Dauer von long_query_time erneut abfragen
Empfohlenes Lernen:
MySQL-Video-TutorialDas obige ist der detaillierte Inhalt vonWas zeichnet das langsame Abfrageprotokoll von MySQL auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!