So aktivieren Sie die Protokollfunktion für langsame Abfragen in MySQL

So aktivieren Sie die Protokollfunktion für langsame Abfragen in MySQL

Das MySQL-Protokoll für langsame Abfragen ist sehr nützlich, um problematische Abfragen zu verfolgen. Es kann analysieren, ob es SQL-Anweisungen gibt, die im aktuellen Programm viele Ressourcen verbrauchen. Dies ist ein nützliches Protokoll. Es hat nur geringe Auswirkungen auf die Leistung (vorausgesetzt, alle Abfragen sind schnell) und hebt die Abfragen hervor, die die meiste Aufmerksamkeit erfordern (fehlende Indizes oder Indizes, die nicht optimal angewendet werden). Wie schalten Sie also die Protokollierung langsamer MySQL-Abfragen ein?

Durch Aktivieren des Slow Query Log kann MySQL Abfrageanweisungen aufzeichnen, die die angegebene Zeit überschreiten. Durch das Auffinden und Analysieren von Leistungsengpässen lässt sich die Leistung des Datenbanksystems besser optimieren.

(1) Konfigurationsstart

Linux:

Fügen Sie der MySQL-Konfigurationsdatei my.cnf die folgende Anweisung hinzu:

log-slow-queries=/var/lib/mysql/slowquery.log #Geben Sie den Speicherort der Protokolldatei an, der leer sein kann. Das System gibt eine Standarddatei host_name-slow.log an
long_query_time=5 #Zeichnet die überschrittene Zeit auf, der Standardwert ist 10 s, hier eingestellt auf Abfrageanweisungen mit einer Abfragezeit von mehr als 5 s log-queries-not-using-indexes = on #Listen Sie Abfrageanweisungen auf, die keine Indizes verwenden #log-queries-not-using-indexes Gibt an, ob alle Abfragen aufgezeichnet werden sollen, die keine Indizes verwenden. Sie können je nach Situation entscheiden, ob Sie es einschalten möchten #log-long-format Gibt an, ob alle Abfragedatensätze aufgezeichnet werden sollen, einschließlich Abfragen, die keine Indizes verwenden

Windows:

Fügen Sie die folgende Anweisung in [mysqld] von my.ini hinzu (die Anweisungsoptionen und ihre Bedeutungen sind dieselben wie oben):

log-slow-queries = E:\mysql\log\mysqlslowquery.log
lange_Abfragezeit = 5

(2) Anzeigemethode

Linux:

Verwenden Sie den Befehl mysqldumpslow zum Anzeigen

Allgemeine Befehle

  • -s ORDER, wonach sortiert werden soll (t, at, l, al, r, ar usw.), „at“ ist die Standardeinstellung
  • -t NUM zeigt nur die Top-n-Abfragen an
  • -g PATTERN grep: nur Anweisungen berücksichtigen, die diesen String enthalten

z.B:

-s ist die Reihenfolge. Die Beschreibung ist nicht detailliert genug. Ich habe sie verwendet und den Code gelesen. Es gibt hauptsächlich c, t, l, r und ac, at, al, ar, die jeweils nach Abfragezeiten, Zeit, Sperrzeit und Anzahl der zurückgegebenen Datensätze sortiert sind. Die Reihenfolge wird umgekehrt, wenn a davor hinzugefügt wird.

-t bedeutet oberste n, also wie viele Datensätze zurückgegeben werden.

-g, Sie können danach ein reguläres passendes Muster schreiben, die Groß-/Kleinschreibung wird dabei nicht beachtet.

Die spezifischen Befehle lauten wie folgt:

mysqldumpslow -sc -t 20 host-slow.log

mysqldumpslow -sr -t 20 host-slow.log

Der obige Befehl kann die 20 SQL-Anweisungen mit den meisten Zugriffszeiten und die 20 SQL-Anweisungen mit den meisten zurückgegebenen Datensätzen anzeigen.

mysqldumpslow -t 10 -st -g “left join” host-slow.log gibt die ersten 10 SQL-Anweisungen zurück, die Left Joins nach Zeit enthalten.

Windows:

Wenn Sie MySQL Slow Query zum ersten Mal aktivieren, wird in dem von Ihnen angegebenen Verzeichnis eine Protokolldatei erstellt. In diesem Artikel ist es mysqlslowquery.log. Der Inhalt dieser Datei ist wie folgt (wenn MySQL Slow Query zum ersten Mal aktiviert wird):

E:\web\mysql\bin\mysqld, Version: 5.4.3-beta-community-log (MySQL Community Server (GPL)). gestartet mit:
TCP-Port: 3306, Named Pipe: (null)
Zeit-ID-Befehlsargument

Mit dem folgenden Befehl können Sie die Anzahl der Datensätze langsamer Abfragen anzeigen:

mysql> globalen Status wie „%slow%“ anzeigen;
+---------------------+--------+
| Variablenname | Wert |
+---------------------+--------+
| Langsame Startthreads | 0 |
| Langsame Abfragen | 0 |
+---------------------+--------+

prüfen

1. Führen Sie eine langsame SQL-Abfrage aus

mysql> wähle sleep(2);

2. Überprüfen Sie, ob langsame Abfrageprotokolle generiert werden

ls /usr/local/mysql/data/slow.log

Wenn das Protokoll vorhanden ist, wurde die MySQL-Einstellung für langsame Abfragen erfolgreich aktiviert!

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

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
  • Detaillierte Erklärung zum Aktivieren des langsamen Abfrageprotokolls in der MySQL-Datenbank
  • Die Rolle und Öffnung des MySQL-Protokolls für langsame Abfragen
  • Aktivieren und Konfigurieren des MySQL-Protokolls für langsame Abfragen
  • MySQL-Optimierungslösung: Aktivieren Sie das Protokoll für langsame Abfragen

<<:  Holen Sie sich die IP und den Hostnamen aller Hosts auf Zabbix

>>:  js, um die vollständigen Schritte der Konvertierung von Chinesisch nach Pinyin durchzuführen

Artikel empfehlen

Javascript implementiert die Webversion des Flipperspiels

Das mit JavaScript-Objekten und -Methoden impleme...

Detailliertes Tutorial zur Installation von MySQL 5.7 auf RedHat 6.5

RedHat6.5 Installation MySQL5.7 Tutorial teilen, ...

JavaScript zählt, wie oft ein Zeichen vorkommt

In diesem Artikelbeispiel wird der spezifische Ja...

Vor- und Nachteile von MySQL-Indizes und Richtlinien zum Erstellen von Indizes

1. Warum einen Index erstellen? (Vorteile) Dies l...

MySQL-Transaktionsdetails

Inhaltsverzeichnis Einführung Vier Merkmale von T...

Führen Sie die Schritte zur Installation der Boost-Bibliothek unter Linux aus

Vorwort Die Boost-Bibliothek ist eine portable, m...

Erläuterung der MySQL-Leistungsprüfung durch den Befehl „show processlist“

Der Befehl „show processlist“ ist sehr nützlich. ...

Der Unterschied zwischen MySQL count(1), count(*) und count(field)

Inhaltsverzeichnis 1. Erster Blick auf COUNT 2. D...

So verhindern Sie, dass Flash HTML-Div-Elemente abdeckt

Als ich heute einen Flash-Werbecode schrieb, habe ...

Details zur MySQL-Sortierfunktion

Inhaltsverzeichnis 1. Problemszenario 2. Ursachen...