Heim  >  Artikel  >  Datenbank  >  Ausführliche Erklärung des MySQL-Analyseprofils

Ausführliche Erklärung des MySQL-Analyseprofils

黄舟
黄舟Original
2017-03-02 16:12:431599Durchsuche


Eins. Vorwort

Wir können es verwenden, wenn wir die Leistung eines bestimmten SQL analysieren möchten.

Profiling ist erst seit mysql5.0.3 verfügbar.

Nach dem Start des Profils werden alle Anfragen inklusive Falschangaben erfasst.

Schließen Sie die Sitzung oder setzen Sie profiling=0, um sie zu schließen. (Wenn Sie den Parameter profiling_history_size auf 0 setzen, hat dies auch den Profilierungseffekt, MySQL auszuschalten.)

Mit diesem Tool können Sie den SQL-Ausführungsstatus und die Dauer der Systemsperre abfragen und Table Lock Take usw.

ist sehr wichtig, um den I/O-Verbrauch und CPU-Verbrauch einer Anweisung zu lokalisieren. (Die beiden größten Ressourcen, die von der SQL-Anweisungsausführung verbraucht werden, sind IO und CPU)

--Nach mysql5.7 werden Profilinformationen schrittweise aufgegeben.


Zwei. Ablauf

Der einfache Ablauf ist wie folgt:

set profiling=1;  				//打开分析

run your sql1;

run your sql2;

show profiles;					//查看sql1,sql2的语句分析

show profile for query 1;		//查看sql1的具体分析

show profile ALL for query 1;	//查看sql1相关的所有分析【主要看i/o与cpu,下边分析中有各项意义介绍】

set profiling=0;  				//关闭分析






Drei. Bedeutungsanalyse







Die Bedeutung des horizontalen Balkens im Bild oben

+--------- ---- ---------+----------+----------+-------------- --+


"Status": "Abfrageende", Status

"Dauer": "1.751142" , Dauer

"CPU_user": "0.008999", CPU-Benutzer

"CPU_system": "0.003999", CPU-System

„Context_voluntary“: „98“, kontextaktives Umschalten

“Context_involuntary“: „0“, kontextpassives Umschalten

“Block_ops_in“: „8“, blockierte Eingabevorgänge

„Block_ops_out“: „32“, blockierte Ausgabevorgänge

„Messages_sent“: „0“, Nachricht gesendet

"Messages_received": "0", Nachricht empfangen

"Page_faults_major": "0", Haupt-Paging-Fehler

"Page_faults_minor": "0", Seitenfehler

"Swaps": "0", Anzahl der Swaps

"Source_function": "mysql_execute_command", Quellfunktion

"Source_file": "sql_parse.cc", Quelldatei

„Source_line“: „4465“ Quellcodezeile


+------------------- -- -+----------+----------+----------------+


Die Bedeutung der vertikalen Spalte im obigen Bild

+---------------------+-- ----- ---+----------+----------------+

Start: Start

Berechtigungen prüfen: Berechtigungen prüfen

Tabellen öffnen: Tabellen öffnen

init: Initialisierung

Systemsperre: Systemsperre

Optimierung: Optimierung

Statistik: Statistik

Vorbereitung: Vorbereitung

Ausführen: Ausführen

Daten senden: Daten senden

Sortierungsergebnis: Sortieren

end :结束

query end :查询 结束

closing tables : 关闭表 /去除TMP 表

freeing items : 释放物品

cleaning up :清理


+----------------------+----------+----------+------------+


一般情况下,常用以下语句也就够了 :

mysql->SHOW profile CPU,BLOCK IO io FOR query 2;

 以上就是Mysql分析-profile详解的内容,更多相关内容请关注PHP中文网(www.php.cn)!


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