Werfen wir zunächst einen Blick auf die Interviewfragen:
Interviewfrage: Wie beurteilt man, ob der SQL-Abfragevorgang langsam ist und wie kann man ihn optimieren (Alibaba-Interviewfragen)
Interviewfrage: Langsame MySQL-Abfrageaktivierung, Anweisungsanalyse (Alibaba-Interviewfragen)
(Teilen von Lernvideos: Java-Lehrvideo)
1. Aktivieren Sie die langsame MySQL-Abfrage
Methode 1: Ändern Sie die Konfigurationsdatei
Fügen Sie ein paar Zeilen in my.ini hinzu:
[mysqlld] //定义查过多少秒的查询算是慢查询,我这里定义的是2秒 long_query_time=2 #5.0、5.1等版本配置如下选项 log-slow-queries="mysql_slow_query.log" #5.5及以上版本配置如下选项 slow-query-log=On slow_query_log_file="mysql_slow_query.log" //记录下没有使用索引的query log-query-not-using-indexes
( Verwandte Lernvideos teilen: Java-Interview-Fragen und -Antworten)
Methode 2: Langsame Abfrage über MySQL-Datenbank aktivieren
mysql>set global slow_query_log=ON mysql>set global long_query_time = 3600; mysql>set global log_querise_not_using_indexes = ON;
Zweitens: Führen Sie einen langsamen Abfragevorgang aus
Tatsächlich ist es schwierig, eine sinnvolle langsame Abfrage auszuführen, weil Wenn Sie es selbst testen, dauert es nur wenige Sekunden, selbst wenn Sie eine riesige Tabelle mit 200.000 Daten abfragen. Wir können stattdessen die folgende Anweisung verwenden:
SELECT SLEEP(10);
3. Überprüfen Sie die Anzahl langsamer Abfragen
Verwenden Sie die folgende SQL-Anweisung, um zu überprüfen, wie viele langsame Abfragen ausgeführt wurden:
show global status like '%slow%';
4. Analysieren Sie das Protokoll langsamer Abfragen
Methode 1: Analyse durch Tools
MySQL wird mit dem Tool mysqldumpslow zum Analysieren langsamer Abfrageprotokolle geliefert. Darüber hinaus gibt es einige nützliche Open-Source-Tools.
Hier wird davon ausgegangen, dass das gespeicherte Protokoll den Namen long.log hat
Listen Sie die 10 SQL-Anweisungen mit den meisten Datensätzen auf:
mysqldumpslow -s c -t 10 long.log
Listen Sie die 10 SQL-Anweisungen auf, die die meisten Datensatzsätze zurückgeben:
mysqldumpslow -s r -t 10 long.log
Methode 2: Direkt analysieren MySQL-Langsamkeit Abfrageprotokoll
# Time: 121017 17:38:54 # User@Host: root[root] @ localhost [127.0.0.1] # Query_time: 3.794217 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 4194304 SET timestamp=1350466734; select * from wei where text='orange'; # Time: 121017 17:46:22 # User@Host: root[root] @ localhost [127.0.0.1] # Query_time: 3.819219 Lock_time: 0.000000 Rows_sent: 0 Rows_examined: 4194304 SET timestamp=1350467182; select * from wei where text='long';
Verwandte Empfehlungen: Java-Einführungs-Tutorial
Das obige ist der detaillierte Inhalt vonJava-Interview-langsame Abfrage. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!