Die Rolle und Öffnung des MySQL-Protokolls für langsame Abfragen

Die Rolle und Öffnung des MySQL-Protokolls für langsame Abfragen

Vorwort

Das MySQL Slow Query Log ist ein Protokolltyp, der von MySQL bereitgestellt wird. Es wird verwendet, um Anweisungen in MySQL aufzuzeichnen, deren Antwortzeit den Schwellenwert überschreitet. Insbesondere werden SQL-Anweisungen, deren Ausführungszeit den Wert „long_query_time“ überschreitet, im Slow Query Log aufgezeichnet. Der Standardwert von long_query_time ist 10, was bedeutet, dass die Anweisung länger als 10 Sekunden ausgeführt wird. Standardmäßig startet die MySQL-Datenbank das langsame Abfrageprotokoll nicht, und wir müssen diesen Parameter manuell festlegen. Wenn es für die Optimierung nicht erforderlich ist, wird es natürlich im Allgemeinen nicht empfohlen, diesen Parameter zu starten, da das Einschalten des langsamen Abfrageprotokolls mehr oder weniger gewisse Auswirkungen auf die Leistung hat. Das langsame Abfrageprotokoll unterstützt das Schreiben von Protokolldatensätzen in Dateien oder Datenbanktabellen.

Das offizielle Dokument stellt das langsame Abfrageprotokoll wie folgt vor (unvollständige Informationen, Einzelheiten entnehmen Sie bitte dem offiziellen zugehörigen Link):

Das langsame Abfrageprotokoll besteht aus SQL-Anweisungen, deren Ausführung mehr als long_query_time Sekunden dauerte und für deren Prüfung mindestens min_examined_row_limit Zeilen erforderlich waren. Die Mindest- und Standardwerte von long_query_time sind 0 bzw. 10. Der Wert kann mit einer Auflösung von Mikrosekunden angegeben werden. Beim Protokollieren in eine Datei werden die Zeiten einschließlich des Mikrosekundenanteils geschrieben. Beim Protokollieren in Tabellen werden nur ganzzahlige Zeiten geschrieben; der Mikrosekundenanteil wird ignoriert.

Standardmäßig werden administrative Anweisungen nicht protokolliert, ebenso wenig wie Abfragen, die keine Indizes für Nachschlagevorgänge verwenden. Dieses Verhalten kann mit log_slow_admin_statements und log_queries_not_using_indexes geändert werden, wie später beschrieben.

Parameter im Zusammenhang mit dem langsamen Abfrageprotokoll

Erläuterung der Parameter für langsame MySQL-Abfragen:

  • slow_query_log: Gibt an, ob das Protokoll für langsame Abfragen aktiviert werden soll. 1 bedeutet aktiviert, 0 bedeutet deaktiviert.
  • log-slow-queries: Der Speicherpfad des Protokolls für langsame Abfragen der alten Version (unter 5.6) der MySQL-Datenbank. Sie können diesen Parameter ungesetzt lassen, das System greift dann standardmäßig auf die Datei host_name-slow.log zu
  • slow-query-log-file: Der Speicherpfad des Slow-Query-Protokolls der neuen Version (5.6 und höher) der MySQL-Datenbank. Sie können diesen Parameter ungesetzt lassen, das System greift dann standardmäßig auf die Datei host_name-slow.log zu
  • long_query_time: Schwellenwert für langsame Abfragen. Wenn die Abfragezeit den festgelegten Schwellenwert überschreitet, wird ein Protokoll aufgezeichnet.
  • log_queries_not_using_indexes: Abfragen, die keine Indizes verwenden, werden auch im Protokoll für langsame Abfragen protokolliert (optional).
  • log_output: Methode zur Protokollspeicherung. log_output='FILE' bedeutet, dass Protokolle in Dateien gespeichert werden. Der Standardwert ist 'FILE'. log_output='TABLE' bedeutet, dass das Protokoll in der Datenbank gespeichert wird, sodass die Protokollinformationen in die Tabelle mysql.slow_log geschrieben werden. MySQL-Datenbanken unterstützen zwei Protokollspeichermethoden gleichzeitig. Trennen Sie sie bei der Konfiguration einfach durch Kommas, z. B.: log_output='FILE,TABLE'. Das Protokollieren in die dedizierte Protokolltabelle des Systems verbraucht mehr Systemressourcen als das Protokollieren in Dateien. Wenn Sie daher langsame Abfrageprotokolle aktivieren und eine höhere Systemleistung erzielen müssen, wird empfohlen, zuerst in Dateien zu protokollieren.

Die Rolle des langsamen Abfrageprotokolls

Das Slow-Query-Log zeichnet die SQL-Anweisungen auf, deren Ausführung länger als die angegebene Zeit dauert. Das Slow-Query-Log kann zum Lokalisieren und Analysieren von Leistungsengpässen verwendet werden.

Überprüfen Sie, ob die Slow Query Log-Funktion aktiviert ist und in welchem ​​Verzeichnis die Slow Query Log-Dateien gespeichert sind.

VARIABLEN WIE „slow_query%“ ANZEIGEN

Aktivieren Sie die Protokollierung langsamer Abfragen

  • slow_query_log kann den Schaltstatus des langsamen Abfrageprotokolls festlegen
  • long_query_time kann die Abfrage-Timeout-Zeit in Sekunden festlegen

Legen Sie in der MySQL-Konfigurationsdatei /etc/my.cnf Folgendes fest:

slow_query_log=EIN
lange_Abfragezeit=1

Aktivieren Sie das langsame Abfrageprotokoll, um SQL-Anweisungen aufzuzeichnen, deren Abfrage länger als 1 Sekunde dauert. Das Protokoll wird nach einem Neustart von MySQL wirksam.

Sie können das folgende SQL verwenden, um Folgendes zu testen

Wähle SLEEP(2);

Protokolldatei für langsame Abfragen

TCP-Port: 0 Unix-Socket: (null)
Zeit-ID-Befehlsargument
# Zeit: 210125 6:30:14
# Benutzer@Host: reptil[reptil] @ [192.168.10.254] ID: 1
# Abfragezeit: 2.000380 Sperrzeit: 0.000000 Gesendete Zeilen: 1 Untersuchte Zeilen: 0
SET-Zeitstempel=1611556214;
Wähle SLEEP(2);
  • SET-Zeitstempel = 1611556214; SQL-Zeitstempel ausführen
  • Query_time SQL-Ausführungszeit
  • Rows_sent gibt mehrere Datensätze zurück

Zusammenfassen

Dies ist das Ende dieses Artikels über die Rolle und Aktivierung des MySQL Slow Query Log. Weitere relevante Inhalte zum MySQL Slow Query Log finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der MySql-Analyse langsamer Abfragen und Öffnen des Protokolls langsamer Abfragen
  • So aktivieren Sie das MySQL-Protokoll für langsame Abfragen log-slow-queries
  • Tipps zum Aktivieren des langsamen Abfrageprotokolls in MYSQL5.7.9
  • mysql langsame Abfrage aktivieren So aktivieren Sie die Protokollierung langsamer MySQL-Abfragen
  • So aktivieren Sie das langsame Abfrageprotokoll in MySQL
  • So aktivieren Sie die Protokollfunktion für langsame Abfragen in MySQL
  • Detaillierte Erklärung zum Aktivieren des langsamen Abfrageprotokolls in der MySQL-Datenbank
  • Aktivieren und Konfigurieren des MySQL-Protokolls für langsame Abfragen
  • MySQL-Optimierungslösung: Aktivieren Sie das Protokoll für langsame Abfragen

<<:  So unterstützen Sie ApacheBench mehrere URLs

>>:  Eine kurze Diskussion über die Eigenschaften von CSS-Float

Artikel empfehlen

Implementierung von Socket-Optionen in der Linux-Netzwerkprogrammierung

Socket-Optionsfunktion Funktion: Methoden zum Les...

Detaillierte Erklärung des Javascript Echarts Luftqualitätskarteneffekts

Wir müssen zunächst die Luftqualitätsdaten mit de...

Der Unterschied und die Verwendung von distinct und row_number() over() in SQL

1 Einleitung Wenn wir SQL-Anweisungen schreiben, ...

Detaillierte Erläuterung des Ausführungsprozesses der JavaScript-Engine V8

Inhaltsverzeichnis 1. V8-Quelle 2. V8-Serviceziel...

Implementierung der MySQL-Konfiguration SSL-Zertifikat-Login

Inhaltsverzeichnis Vorwort 1. MySQL ermöglicht SS...

Tomcat erhält den Clientdomänennamen des Nginx-Reverse-Proxys

Frage Nach dem Nginx-Reverse-Proxy erhält die Tom...

Miniprogramm Benutzerdefinierte TabBar-Komponentenkapselung

In diesem Artikelbeispiel wird der spezifische Co...

Einführung in die Nginx-Protokollverwaltung

Nginx-Protokollbeschreibung Über Zugriffsprotokol...