Empfohlenes Lernen: MySQL-Video-Tutorial
Das langsame Abfrageprotokoll von MySQL ist ein von MySQL bereitgestellter Protokolldatensatz. Er wird verwendet, um aufzuzeichnen, dass die Antwortzeit in MySQL den Schwellenwert (long_query_time, Einheit) überschreitet : Sekunden) SQL-Anweisung. Standardmäßig startet MySQL keine langsame Abfrageprotokollierung. In diesem Artikel wird kurz vorgestellt, wie Sie langsame Abfrageprotokolle aktivieren und wie Sie mysqldumpslow zum Analysieren langsamer Abfragen verwenden.
Vorübergehender kritischer Punkt für langsame Abfragezeit. Jede Abfragezeit, die über diesem kritischen Punkt liegt, wird im Protokoll für langsame Abfragen aufgezeichnet (Neustart ungültig).
Erklärung:Sie können sehen, dass ich es auf „Datei“ eingestellt habe, was bedeutet, dass mein langsames Abfrageprotokoll durch „Datei“ wiedergegeben wird. Der Standardwert ist „Keine“. Wenn es sich um eine Tabelle handelt, handelt es sich um die langsamen Abfrageinformationen wird in mysql in der slow_log-Tabelle unter der Bibliothek gespeichert. Schritt 2: Fragen Sie den Öffnungsstatus des Protokolls für langsame Abfragen und den Speicherort des Protokolls für langsame Abfragen ab. Langsames Abfrageprotokoll Dateipfad
lange_Abfragezeit: Abfragen, die die Anzahl der Sekunden überschreiten, werden in das Protokoll geschrieben
log_queries_not_using_indexes Wenn der Wert auf EIN gesetzt ist, werden alle Abfragen aufgezeichnet, die keine Indizes verwenden (aktivieren Sie dies während der Ausführung).3. Überprüfen Sie das Format der Protokollspeicherung
4. Aktivieren Sie langsame Protokolle dauerhaft. Ändern Sie my.cnf. Fügen Sie den Abschnitt [mysqld] in der Konfigurationsdatei my.cnf hinzu (normalerweise /etc/my.cnf) Die folgenden Parameter.
set global slow_query_log = on;Unter diesen bedeutet slow_query_log = 1, dass langsame Abfragen aktiviert werden sollen, 0 bedeutet,
slow_query_log_file zu deaktivieren, um den Protokollpfad für langsame Abfragen anzugeben. MySQL benötigt Schreibberechtigungen für den Pfad.
long_query_time = 1 bedeutet, dass Abfragezeit erforderlich ist >= 1 Sekunde Protokolle aufzeichnen, der Standardwert ist 10slog_queries_not_using_indexes = 1, was bedeutet, dass SQL-Anweisungen aufgezeichnet werden, die keine Indizes verwendenNach dem Neustart von MySQL wird /var/lib/mysql/ angezeigt. slow-query.log-Datei.
3. Langsamer Abfragetest
Erstellen Sie eine langsame Abfrage und führen Sie sie aus. Wie folgt:set long_query_time = 1;Protokoll für langsame Abfragen
set global log_output = file;mysqldumpslow ist MySQLs eigenes Tool zur Analyse langsamer Abfragen. Das Tool ist ein Perl-Skript.
Häufig verwendete Parameter sind wie folgt:
-s:
Sortiermethode, die Werte sind wie folgtc:
Anzahl der Abfragent:
Abfragezeitl :
Sperrzeitr:
Zurückgegebene Datensätzeac: Durchschnittliche Anzahl von Abfragen
al:
Durchschnittliche Sperrzeitar: Durchschnittlich zurückgegebene Datensätze
um:Durchschnittliche Abfragezeit
-t: topN-Abfragen
show variables like '%quer%';sortiert nach Zeit und enthalten „Gefällt mir“-Top-5-SQL-Anweisungen
$ mysqldumpslow -s t -t 3 -g "like" /var/lib/mysql/slow-query.log
SET GLOBAL slow_query_log = 'OFF'; ALTER TABLEmysql.slow_log RENAME mysql.slow_log_drop; CREATE TABLE mysql.slow_log LIKEmysql.slow_log_drop; SET GLOBAL slow_query_log = 'ON'; DROP TABLE mysql.slow_log_drop;
推荐学习:mysql视频教程
Das obige ist der detaillierte Inhalt vonMySQL-Praxis für langsame Abfrageprotokolle (Grafik- und Textanalyse). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!