Maison > base de données > tutoriel mysql > Explication détaillée du profil d'analyse MySQL

Explication détaillée du profil d'analyse MySQL

黄舟
Libérer: 2017-03-02 16:12:43
original
1687 Les gens l'ont consulté


Un. Préface

Nous pouvons l'utiliser lorsque nous voulons analyser les performances d'un certain SQL.

Le profilage n'est disponible que depuis mysql5.0.3.

Après avoir démarré le profil, toutes les requêtes comprenant des déclarations incorrectes seront enregistrées.

Fermez la session ou définissez profiling=0 pour la fermer. (Si vous définissez le paramètre profiling_history_size sur 0, cela a également pour effet de profiler de désactiver MySQL.)

Cet outil peut être utilisé pour interroger l'état d'exécution SQL, la durée du verrouillage du système et Table lock take, etc.,

est très important pour localiser la Consommation d'E/S et la Consommation du CPU d'une instruction. (Les deux plus grandes ressources consommées par l'exécution des instructions SQL sont IO et CPU)

--Après mysql5.7, les informations de profil seront progressivement abandonnées. MySQL recommande d'utiliser le schéma de performances


Deux. Processus

Le processus simple est le suivant :

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;  				//关闭分析
Copier après la connexion






Trois. Analyse de signification







La signification de la barre horizontale dans l'image ci-dessus

---------- ---- -------- ---------- ---------- ------------


"Status": "fin de la requête", Statut

"Durée": "1.751142", Durée

"CPU_user": "0.008999", utilisateur du processeur

"CPU_system": "0.003999", système du processeur

"Context_voluntary": "98", commutation active de contexte

"Context_involuntary": "0", commutation passive de contexte

"Block_ops_in": "8", opérations d'entrée bloquées

"Block_ops_out": "32", opérations de sortie bloquées

"Messages_sent": "0", message envoyé

"Messages_received": "0", message reçu

"Page_faults_major": "0", erreur de pagination principale

"Page_faults_minor": "0", défauts de page

"Swaps": "0", nombre d'échanges

"Source_function": "mysql_execute_command", fonction source

"Source_file": "sql_parse.cc", fichier source

"Source_line": "4465" Ligne de code source


---------------------- ---- -- ---------- ---------- ------------


Up La signification de la colonne verticale dans l'image

---------------------- ------ ---- ---- ------ ------------

démarrage : Démarrage

Vérification des autorisations : Vérification des autorisations

Ouverture des tables : Ouverture des tables

init : Initialisation

Verrouillage du système : Verrouillage du système

optimisation : Optimisation

statistiques : Statistiques

préparer : préparer

exécuter : exécuter

Envoi de données : Envoi de données

Résultat du tri : Tri

end :结束

query end :查询 结束

closing tables : 关闭表 /去除TMP 表

freeing items : 释放物品

cleaning up :清理


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


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

mysql->SHOW profile CPU,BLOCK IO io FOR query 2;
Copier après la connexion

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


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal