Heim  >  Artikel  >  Datenbank  >  Detaillierte Beispiele für die Aufzeichnung zeitaufwändiger SQL-Anweisungen durch MySQL

Detaillierte Beispiele für die Aufzeichnung zeitaufwändiger SQL-Anweisungen durch MySQL

小云云
小云云Original
2017-12-22 13:24:351462Durchsuche

MySQL zeichnet zeitaufwändiges SQL auf

MySQL kann zeitaufwändiges SQL oder nicht verwendetes Index-SQL zur Optimierung und Analyse im langsamen Protokoll aufzeichnen. In diesem Artikel werden hauptsächlich relevante Informationen zur detaillierten Erläuterung zeitaufwändiger SQL-Beispiele vorgestellt. Freunde, die sie benötigen, können darauf zurückgreifen.

1. Aktivieren Sie das MySQL-Protokoll für langsame Abfragen:

Das MySQL-Protokoll für langsame Abfragen ist sehr nützlich, um problematische Abfragen zu verfolgen und kann ressourcenintensive Abfragen im laufenden Betrieb analysieren Programm. SQL-Anweisung, wie öffne ich den langsamen Abfrageprotokolleintrag von MySQL? Sie müssen die MySQL-Konfigurationsdatei ändern. Fügen Sie der Konfigurationsdatei „[mysqld]“ die folgenden zwei Parameter hinzu:


mysql> show variables like 'log_slow_queries';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| log_slow_queries | OFF | 
+------------------+-------+
1 row in set (0.01 sec)

mysql>

Beschreibung


long_query_time
long_query_time=1
log-slow-queries=/var/mysql/logs/slow.log


Dieser Parameter stellt die Messzeit langsamer Abfragen dar, die Einheit ist Sekunden, das Minimum ist 1, der Standardwert ist 10, jede SQL-Anweisung, deren Ausführungszeit länger ist long_query_time wird im langsamen Abfrageprotokoll aufgezeichnet

log-slow-queries[=file_name]

Der Parameter file_name ist optional. Der Standardwert ist host_name -slow.log. Wenn der Parameter file_name angegeben ist, wird das langsame Abfrageprotokoll in der durch file_name festgelegten Datei aufgezeichnet. Wenn file_name einen relativen Pfad angibt, kann MySQL das Protokoll nur im Datenverzeichnis von MySQL aufzeichnen kann der Konfigurationsdatei hinzugefügt werden und kann nicht über die Befehlszeile ausgeführt werden.

2. Konfiguration der Aufzeichnung nicht verwendeter Indexabfragen im langsamen Protokoll

Der Parameter „log_queries_not_using_indexes“ kann zur MySQL-Startkonfigurationsdatei oder zu den Befehlszeilenparametern hinzugefügt werden um nicht verwendete Indexabfrageanweisungen zum langsamen Protokoll hinzuzufügen.

Das Beispiel sieht wie folgt aus:


Nach dem Neustart von MySQL lauten die Prüfergebnisse wie folgt:


[root@localhost mysqlsla-2.03]# more /etc/my.cnf 
[mysqld]
datadir=/var/lib/mysql
log_bin=/tmp/mysql/bin-log/mysql-bin.log
log_bin=ON
socket=/var/lib/mysql/mysql.sock
user=mysql
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1


log_slow_queries=/tmp/127_slow.log
long_query_time=1
log_queries_not_using_indexes

.......

Verwandte Empfehlungen:


MySQL zeichnet zeitaufwändiges sql_MySQL auf
mysql> show variables like 'log_slow_queries';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| log_slow_queries | ON | 
+------------------+-------+
1 row in set (0.00 sec)

mysql> show variables like 'long_query_time';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| long_query_time | 2  | 
+-----------------+-------+
1 row in set (0.00 sec)

mysql>


Verwenden Sie MySQL, um SQL zu analysieren zeitaufwändige Probleme

Über den Umgang mit zeitaufwändigen PHP-Dateien

Das obige ist der detaillierte Inhalt vonDetaillierte Beispiele für die Aufzeichnung zeitaufwändiger SQL-Anweisungen durch MySQL. 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