Tutorial zur Konfiguration und Verwendung des MySQL-Protokolls für langsame Abfragen

Tutorial zur Konfiguration und Verwendung des MySQL-Protokolls für langsame Abfragen

Vorwort

Das MySQL Slow Query Log ist eine Funktion, die wir in unserer täglichen Arbeit häufig antreffen. Das MySQL Slow Query Log liefert Abfrageinformationen, die den angegebenen Zeitschwellenwert überschreiten, und bietet damit die wichtigste Referenz für die Leistungsoptimierung. Es ist eine sehr praktische Funktion. Das Öffnen und Konfigurieren des MySQL Slow Query Log ist sehr einfach. Sie können die aufgezeichnete Datei (oder Tabelle) angeben und den überschrittenen Zeitschwellenwert in Slow SQL aufzeichnen. Ehrlich gesagt, im Vergleich zu SQLServer Trace oder erweiterten Ereignissen (obwohl die Funktionen dieser beiden nicht nur das sind) vermittelt die MySQL-Konfiguration den Leuten immer ein sehr erfrischendes Gefühl.

1. Öffnen des langsamen Abfrageprotokolls

Unter normalen Umständen müssen Sie nur die Konfiguration slow_query_log = 1 in die Konfigurationsdatei einfügen, um das langsame Abfrageprotokoll zu öffnen. Wenn slow_query_log_file nicht angegeben ist, wird automatisch eine Datei mit dem Hostnamen + „slow“.log generiert.

2. Standardmäßig beträgt der Zeitschwellenwert für die Aufzeichnung langsamer Abfragen 10 Sekunden

Wenn slow_query_log = 1 angegeben ist, werden langsame Abfragen standardmäßig beim Start von MySQL aktiviert und automatisch eine Standarddatei mit dem Namen „hostname++'slow'.log“ generiert, um langsame Abfragen aufzuzeichnen, deren Ausführung länger als 10 Sekunden dauert.

Sie können auch den Namen der Protokolldatei für langsame Abfragen explizit angeben (sie wird automatisch erstellt, wenn sie nicht vorhanden ist) und den Zeitschwellenwert für die Aufzeichnung langsamer Abfragen (nicht standardmäßig 10 s).

Hinweis: Wenn Sie long_query_time in der Konfigurationsdatei angeben, ist keine Zeiteinheit erforderlich, sondern nur ein Wert, z. B. 1 für 1 s. Wenn eine Zeiteinheit enthalten ist, wird der Dienst nicht gestartet.

Nachfolgend sehen Sie ein Beispiel für eine langsame SQL-Anweisung, die in einer Protokolldatei aufgezeichnet wurde:

3. Protokollieren Sie langsame Abfrageprotokolle in einer Tabelle

Konfiguration: Sie müssen eine log_output-Konfiguration hinzufügen, um langsame Abfragen in der Tabelle aufzuzeichnen.

Unter der MySQL-Bibliothek gibt es eine Standardtabelle slow_log. Sie können slow_query_log_file = slow_log direkt festlegen, um das langsame Abfrageprotokoll in der Tabelle aufzuzeichnen.

Das aufgezeichnete langsame SQL ist wie folgt. Es kann festgestellt werden, dass SQL_Text eine binäre Information ist, nicht der ursprüngliche SQL-Text.

Sie können es mit der Funktion CONVERT konvertieren.

Der Unterschied zwischen langsamen Abfragen, die in Protokolldateien und in Tabellen aufgezeichnet werden:

1. Langsame Abfragen werden in Protokolldateien und Tabellen aufgezeichnet. Die Aufzeichnungen selbst unterscheiden sich kaum. Wenn sie in Tabellen aufgezeichnet werden, können die Informationen zur Ausführungszeit langsamer Abfragen nicht auf Mikrosekunden genau sein.

2. Wenn die Informationen zu langsamen Abfragen in einer Tabelle aufgezeichnet werden, ist dies für die Abfrage praktisch. Da es sich jedoch um strukturierte Daten handelt, kann dies etwas langsamer sein als die Aufzeichnung in einer Protokolldatei für langsame Abfragen (flache Textdatei) (persönliche Schätzung). Wenn sie in einer Datei aufgezeichnet werden, muss das Tool mysqldumpslow sie analysieren.

3. Slow Query zeichnet keine fehlgeschlagenen Abfragen auf. Wenn beispielsweise long_query_time auf 10 (10 Sekunden) eingestellt ist und eine Abfrage länger als 10 Sekunden dauert, aber aus anderen Gründen fehlschlägt, kann MySQL Slow Query diese Abfrageinformationen nicht aufzeichnen.

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels Ihnen bei Ihrem Studium oder Ihrer Arbeit helfen kann. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der MySql-Analyse langsamer Abfragen und Öffnen des Protokolls langsamer Abfragen
  • Tipps zum Aktivieren des langsamen Abfrageprotokolls in MYSQL5.7.9
  • MySQL-Suche und Optimierungstest für langsame Abfragen
  • So aktivieren Sie das langsame Abfrageprotokoll in MySQL
  • Grundlegendes Tutorial zur Analyse des MySQL-Protokolls für langsame Abfragen
  • Eine langsame MySQL-Abfrage verursachte einen Fehler
  • Eine langsame SQL-Anweisung löste eine Transformation aus

<<:  Vue-CLI - Aufzeichnung der Schritte zur mehrseitigen Verzeichnisverpackung

>>:  So entfernen Sie Leerzeichen oder bestimmte Zeichen in einer Zeichenfolge in der Shell

Artikel empfehlen

vue-table implementiert das Hinzufügen und Löschen

In diesem Artikelbeispiel wird der spezifische Co...

Detailliertes Installations- und Deinstallationstutorial für MySQL 8.0.12

1. Installationsschritte für MySQL-Version 8.0.12...

Detaillierte Erklärung von mktemp, einem grundlegenden Linux-Befehl

mktemp Erstellen Sie auf sichere Weise temporäre ...

MySQL-Deduplizierungsmethoden

MySQL-Deduplizierungsmethoden 【Anfänger】 Es gibt ...

So fragen Sie den minimal verfügbaren ID-Wert in der MySQL-Tabelle ab

Als ich mir heute die Laborprojekte ansah, stieß ...

Eine vollständige Liste gängiger Linux-Systembefehle für Anfänger

Das Erlernen von Linux-Befehlen stellt für die me...

Typische Fälle von MySQL-Indexfehlern

Inhaltsverzeichnis Typische Fälle Anhang: Häufige...

Detaillierte Anwendungsfälle von Vue3 Teleport

Offizielle Website https://cli.vuejs.org/en/guide...

Ein Artikel zum Verständnis der Verwendung von Proxys in JavaScript

Inhaltsverzeichnis Was ist ein Agent Grundkenntni...

Detailliertes Beispiel für die Verwendung einer asynchronen JS-Fetch-Anforderung

Inhaltsverzeichnis Asynchronität verstehen abrufe...

Schritte zur Verwendung von ORM zum Hinzufügen von Daten in MySQL

【Vorwort】 Wenn Sie ORM zum Bedienen von Daten in ...

Kreisförmiger Fortschrittsbalken mit CSS implementiert

Ergebnisse erzielen Implementierungscode html <...