Heim  >  Artikel  >  Datenbank  >  Sehen Sie, wie man langsame Abfragen in MySQL aktiviert? Eine kurze Diskussion über das Prinzip des langsamen Abfrageprotokolls

Sehen Sie, wie man langsame Abfragen in MySQL aktiviert? Eine kurze Diskussion über das Prinzip des langsamen Abfrageprotokolls

php是最好的语言
php是最好的语言Original
2018-07-26 17:12:511999Durchsuche

Das langsame MySQL-Abfrageprotokoll ist ein von MySQL bereitgestellter Protokolldatensatz, der zum Aufzeichnen von Anweisungen in MySQL verwendet wird, deren entsprechende Zeit den Schwellenwert überschreitet. Dies bedeutet, dass SQL, dessen Laufzeit den Wert long_query_time überschreitet, aufgezeichnet wird . im langsamen Abfrageprotokoll. Der Standardwert von long_query_time ist 10, was bedeutet, dass Anweisungen länger als 10 Sekunden ausgeführt werden.

Empfohlene MySQL-Video-Tutorials: „MySQL-Tutorial

Einstellungen für langsame Abfrageprotokolle

1. Überprüfen Sie, ob das Protokoll für langsame Abfragen aktiviert ist on. Befehl:

show variables like '%slow_query_log%'

2. Legen Sie den Befehl fest, um die langsame Abfrage zu aktivieren.

set global slow_query_log=1

Hinweis:
slow_query_log bedeutet „Einschalten“, „OFF“ bedeutet „Ausschalten“. Speicheradresse des langsamen Abfrageprotokolls

3. Die Zeit zum Abfragen und Ändern der langsamen Abfragedefinition

show variables like 'long_query_time%'
set global long_query_time=4

4. Abfragen, die keine Indizes verwenden, werden im langsamen Abfrageprotokoll aufgezeichnet. Bei der Optimierung wird empfohlen, diese Option zu aktivieren. Wenn dieser Parameter aktiviert ist, wird die SQL des vollständigen Indexscans auch im langsamen Abfrageprotokoll aufgezeichnet.

show variables like 'log_queries_not_using_indexes'
rrree

5. Fragen Sie ab, wie viele langsame Abfragedatensätze vorhanden sind

set global log_queries_not_using_indexes=1

Mysqldumpslow Slow Log Analysis Tool

Befehl:

show global status like '%Slow_queries%';

Ermitteln Sie die 20 SQL-Datensätze mit den meisten zurückgegebenen Datensätzen

-s 按照那种方式排序    c:访问计数
    l:锁定时间
    r:返回记录
    al:平均锁定时间
    ar:平均访问记录数
    at:平均查询时间
-t 是top n的意思,返回多少条数据。-g 可以跟上正则匹配模式,大小写不敏感。

Rufen Sie die 20 SQL-Anweisungen mit der höchsten durchschnittlichen Anzahl an Besuchen ab

mysqldumpslow -s r -t 20 sqlslow.log

Rufen Sie die 20 SQL-Anweisungen mit der höchsten durchschnittlichen Anzahl an Besuchen ab, die ttt-Zeichen enthalten

mysqldumpslow -s ar -t 20 sqlslow.log

Hinweis :

1. Wenn der Fehler -bash: mysqldumpslow: Befehl nicht gefunden auftritt, führen Sie bitte

mysqldumpslow -s ar -t 20 -g "ttt" sqldlow.log

2 aus. Block 405659. Das bedeutet, dass Sie das SQL-Protokoll analysieren möchten. Es ist zu groß. Bitte teilen Sie es auf und analysieren Sie es dann.

Der Befehl zum Teilen lautet:

ln -s /usr/local/mysql/bin/mysqldumpslow /usr/bin

Verwandte Artikel:

Aktivieren Sie das langsame MySQL-Abfrageprotokoll und verwenden Sie den Befehl mysqldumpslow, um anzuzeigen

Verwenden Sie mysqldumpslow und mysqlsla, um langsame MySQL-Abfrageprotokolle zu analysieren

Ähnliche Videos:

MySQL-Datenverwaltung, Backup- und Wiederherstellungsfallanalyse-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSehen Sie, wie man langsame Abfragen in MySQL aktiviert? Eine kurze Diskussion über das Prinzip des langsamen Abfrageprotokolls. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn