Maison base de données tutoriel mysql mysql性能调试工具profile_MySQL

mysql性能调试工具profile_MySQL

Jun 01, 2016 pm 01:02 PM
工具 性能

我一直在找mysql中有没有类似Oracle 10046类似的工具,可以看到SQL执行的时间消耗在哪里。终于在网上找到一个profile,使用一些,觉得不错。

mysql> select version();
+-----------+
| version() |
+-----------+
| 5.6.16 |
+-----------+
1 row in set (0.00 sec)

mysql> SELECT @@profiling;
+-------------+
| @@profiling |
+-------------+
| 0 |
+-------------+
1 row in set, 1 warning (0.00 sec)

mysql> SET profiling = 1;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> select count(1) from test1 t1,test2 t2;
+----------+
| count(1) |
+----------+
| 7096832 |
+----------+
1 row in set (0.38 sec)

mysql> show profile cpu,block io for query 1; --for query 1 是看第1条执行的SQL语句
+--------------------------------+----------+----------+------------+--------------+---------------+
| Status | Duration | CPU_user | CPU_system | Block_ops_in | Block_ops_out |
+--------------------------------+----------+----------+------------+--------------+---------------+
| starting | 0.000006 | 0.000000 | 0.000000 | NULL | NULL |
| Waiting for query cache lock | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| init | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| checking query cache for query | 0.000023 | 0.000000 | 0.000000 | NULL | NULL |
| checking permissions | 0.000003 | 0.000000 | 0.000000 | NULL | NULL |
| checking permissions | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| Opening tables | 0.000026 | 0.000000 | 0.000000 | NULL | NULL |
| init | 0.000008 | 0.000000 | 0.000000 | NULL | NULL |
| System lock | 0.000007 | 0.000000 | 0.000000 | NULL | NULL |
| Waiting for query cache lock | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| System lock | 0.000022 | 0.000000 | 0.000000 | NULL | NULL |
| optimizing | 0.000004 | 0.000000 | 0.000000 | NULL | NULL |
| statistics | 0.000012 | 0.000000 | 0.000000 | NULL | NULL |
| preparing | 0.000022 | 0.000000 | 0.000000 | NULL | NULL |
| executing | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| Sending data | 0.388263 | 0.375000 | 0.000000 | NULL | NULL |
| end | 0.000017 | 0.000000 | 0.000000 | NULL | NULL |
| query end | 0.000008 | 0.000000 | 0.000000 | NULL | NULL |
| closing tables | 0.000014 | 0.000000 | 0.000000 | NULL | NULL |
| freeing items | 0.000006 | 0.000000 | 0.000000 | NULL | NULL |
| Waiting for query cache lock | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| freeing items | 0.000045 | 0.000000 | 0.000000 | NULL | NULL |
| Waiting for query cache lock | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| freeing items | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| storing result in query cache | 0.000004 | 0.000000 | 0.000000 | NULL | NULL |
| cleaning up | 0.000015 | 0.000000 | 0.000000 | NULL | NULL |
+--------------------------------+----------+----------+------------+--------------+---------------+
26 rows in set, 1 warning (0.00 sec)

mysql> select count(1) from test1 t1,test2 t2, test2 t3;
+------------+
| count(1) |
+------------+
| 1185170944 |
+------------+
1 row in set (1 min 26.67 sec)

mysql> show profile cpu,block io for query 2; --for query 2 是看第2条执行的SQL语句
+--------------------------------+-----------+-----------+------------+--------------+---------------+
| Status | Duration | CPU_user | CPU_system | Block_ops_in | Block_ops_out |
+--------------------------------+-----------+-----------+------------+--------------+---------------+
| starting | 0.000005 | 0.000000 | 0.000000 | NULL | NULL |
| Waiting for query cache lock | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| init | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| checking query cache for query | 0.000029 | 0.000000 | 0.000000 | NULL | NULL |
| checking permissions | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| checking permissions | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| checking permissions | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| Opening tables | 0.000071 | 0.000000 | 0.000000 | NULL | NULL |
| init | 0.000008 | 0.000000 | 0.000000 | NULL | NULL |
| System lock | 0.000005 | 0.000000 | 0.000000 | NULL | NULL |
| Waiting for query cache lock | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| System lock | 0.000021 | 0.000000 | 0.000000 | NULL | NULL |
| optimizing | 0.000004 | 0.000000 | 0.000000 | NULL | NULL |
| statistics | 0.000011 | 0.000000 | 0.000000 | NULL | NULL |
| preparing | 0.000019 | 0.000000 | 0.000000 | NULL | NULL |
| executing | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| Sending data | 86.679145 | 86.640625 | 0.000000 | NULL | NULL |
| end | 0.000024 | 0.000000 | 0.000000 | NULL | NULL |
| query end | 0.000008 | 0.000000 | 0.000000 | NULL | NULL |
| closing tables | 0.000014 | 0.000000 | 0.000000 | NULL | NULL |
| freeing items | 0.000006 | 0.000000 | 0.000000 | NULL | NULL |
| Waiting for query cache lock | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| freeing items | 0.000045 | 0.000000 | 0.000000 | NULL | NULL |
| Waiting for query cache lock | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| freeing items | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| storing result in query cache | 0.000003 | 0.000000 | 0.000000 | NULL | NULL |
| logging slow query | 0.000003 | 0.000000 | 0.000000 | NULL | NULL |
| cleaning up | 0.000014 | 0.000000 | 0.000000 | NULL | NULL |
+--------------------------------+-----------+-----------+------------+--------------+---------------+
28 rows in set, 1 warning (0.00 sec)

SHOW PROFILES Syntax
SHOW PROFILE [type [, type] ... ]
[FOR QUERY n]
[LIMIT row_count [OFFSET offset]]
type:
ALL
| BLOCK IO
| CONTEXT SWITCHES
| CPU
| IPC
| MEMORY
| PAGE FAULTS
| SOURCE
| SWAPS
type类型的含义:
ALL displays all information
BLOCK IO displays counts for block input and output operations
CONTEXT SWITCHES displays counts for voluntary and involuntary context switches
CPU displays user and system CPU usage times
IPC displays counts for messages sent and received
MEMORY is not currently implemented
PAGE FAULTS displays counts for major and minor page faults
SOURCE displays the names of functions from the source code, together with the name and line number of the file in which the function occurs
SWAPS displays swap counts

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelles bibliothèques de GO sont développées par de grandes entreprises ou fournies par des projets open source bien connus? Quelles bibliothèques de GO sont développées par de grandes entreprises ou fournies par des projets open source bien connus? Apr 02, 2025 pm 04:12 PM

Quelles bibliothèques de GO sont développées par de grandes entreprises ou des projets open source bien connus? Lors de la programmation en Go, les développeurs rencontrent souvent des besoins communs, ...

Comment déclencher manuellement l'événement ONBLUR d'une cellule en mode d'édition de ligne Avue-Crud? Comment déclencher manuellement l'événement ONBLUR d'une cellule en mode d'édition de ligne Avue-Crud? Apr 04, 2025 pm 02:00 PM

L'événement ONBLUR qui implémente l'édition de ligne AVUE-CRUD dans la bibliothèque des composants AVUE déclenche manuellement le composant Avue-Crud. Il offre des fonctions d'édition en ligne pratiques, mais parfois nous devons ...

Gitee Pages STATIQUE Le déploiement du site Web a échoué: comment dépanner et résoudre les erreurs de fichier unique 404? Gitee Pages STATIQUE Le déploiement du site Web a échoué: comment dépanner et résoudre les erreurs de fichier unique 404? Apr 04, 2025 pm 11:54 PM

GiteEpages STATIQUE Le déploiement du site Web a échoué: 404 Dépannage des erreurs et résolution lors de l'utilisation de Gitee ...

Comment construire rapidement une page de premier plan dans un projet React Vite à l'aide d'outils AI? Comment construire rapidement une page de premier plan dans un projet React Vite à l'aide d'outils AI? Apr 04, 2025 pm 01:45 PM

Comment construire rapidement une page frontale en développement back-end? En tant que développeur backend avec trois ou quatre ans d'expérience, il a maîtrisé le JavaScript de base, CSS et HTML ...

Comment créer une application React avec PNPM au lieu de NPM? Comment créer une application React avec PNPM au lieu de NPM? Apr 04, 2025 pm 06:45 PM

À propos de l'utilisation de PNPM au lieu de NPM pour créer une application React à l'aide de NPX ...

Quel est le statut d'audience actuel du framework Go? Est-il plus adapté aux différents besoins de l'entreprise pour choisir GRPC ou GoZero? Quel est le statut d'audience actuel du framework Go? Est-il plus adapté aux différents besoins de l'entreprise pour choisir GRPC ou GoZero? Apr 02, 2025 pm 03:57 PM

Analyse de l'état d'audience du cadre GO dans l'écosystème de programmation GO actuel, les développeurs sont souvent confrontés à choisir le bon cadre pour répondre aux besoins de leurs entreprises. Aujourd'hui, nous ...

Comment modifier et rejouer efficacement les cookies demandés dans Chrome Devtools? Comment modifier et rejouer efficacement les cookies demandés dans Chrome Devtools? Apr 04, 2025 pm 05:48 PM

Comment modifier et rejouer efficacement les cookies demandés dans Chromedevtools à l'aide de Chrome ...

Comment utiliser le plug-in JavaScript pour réaliser l'effet de la fixation des pages et du mouvement indépendant des éléments? Comment utiliser le plug-in JavaScript pour réaliser l'effet de la fixation des pages et du mouvement indépendant des éléments? Apr 04, 2025 pm 12:51 PM

Implémentation de l'effet de fixation de la page de la déplacement indépendamment des barres de défilement et des éléments dans la conception Web, nous devons parfois réaliser un effet spécial, c'est-à-dire lorsque les barres de défilement font défiler ...

See all articles