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
show variables like 'long_query_time%'
set global long_query_time=44. 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'rrree5. Fragen Sie ab, wie viele langsame Abfragedatensätze vorhanden sind
set global log_queries_not_using_indexes=1Mysqldumpslow 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.logRufen Sie die 20 SQL-Anweisungen mit der höchsten durchschnittlichen Anzahl an Besuchen ab, die ttt-Zeichen enthalten
mysqldumpslow -s ar -t 20 sqlslow.logHinweis :
1. Wenn der Fehler -bash: mysqldumpslow: Befehl nicht gefunden auftritt, führen Sie bitte
mysqldumpslow -s ar -t 20 -g "ttt" sqldlow.log2 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/binVerwandte 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!