Maison > base de données > tutoriel mysql > MySQL Advanced 11 - Requête lente

MySQL Advanced 11 - Requête lente

黄舟
Libérer: 2016-12-29 16:50:10
original
1018 Les gens l'ont consulté

MySQL enregistre les requêtes qui dépassent la durée spécifiée. Nous appelons les requêtes SQL qui dépassent la durée spécifiée comme requêtes lentes.

1. Vérifiez le délai

show variables like '%long%';
Copier après la connexion

et vous verrez :

+---------------------------------------------------+-----------+
| Variable_name                        | Value     |
+---------------------------------------------------+-----------+
| long_query_time                        | 10.000000 |
| max_long_data_size                     | 1048576   |
| performance_schema_events_waits_history_long_size | 10000     |
+---------------------------------------------------+-----------+
Copier après la connexion


Si une requête qui dépasse long_query_time est appelée une requête lente.

2. Vérifiez l'heure de démarrage de la base de données

show status like 'uptime%';
Copier après la connexion

et vous verrez

+---------------------------+-------+
| Variable_name             | Value |
+---------------------------+-------+
| Uptime                    | 76333 |
| Uptime_since_flush_status | 76333 |
+---------------------------+-------+
Copier après la connexion


3. Vérifiez le nombre d'instructions de requête

show status like 'com_Select';
Copier après la connexion

et vous verrez

+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Com_select    | 1     |
+---------------+-------+
Copier après la connexion


4. Obtenez le nombre de connexions

show status like 'connections';
Copier après la connexion

verra

+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Connections   | 2     |
+---------------+-------+
Copier après la connexion


5. Réglez le temps de requête lent

set long_query_time = 1;
Copier après la connexion

6. Démarrez le service MySQL en mode sans échec et l'enregistrement de la requête lente sera écrit dans le journal.

Activer le journal des requêtes lentes

Ajoutez les paramètres suivants au fichier de configuration MySQL

log-show-queries = D:/MySQL/Log/mysqld-slow-query. log

long-query-time = 5

log-queries-not-using-indexes

Explication :

À propos de l'emplacement de stockage du lent Fonction de journal des requêtes, le fichier de répertoire doit avoir une autorisation d'écriture. Vous pouvez utiliser les paramètres. Le système donnera un fichier par défaut host_name-show.log

long_query_time

Seuil de temps d'exécution SQL, la valeur par défaut est de 10 secondes

Notez trois points :

1. Après avoir défini le seuil long_query_time, la base de données mysql enregistrera toutes les instructions SQL dont la durée d'exécution dépasse cette valeur, mais ne sera pas enregistrée si la durée d'exécution est exactement égale à long_query_time. En d'autres termes, dans le code source MySQL, il est jugé supérieur à log_query_time, et non supérieur ou égal à.

2. À partir de MySQL 5.1, long_query_time commence à être calculé en microsecondes, enregistrant ainsi avec précision le temps d'exécution de SQL.

3. Il est recommandé que le temps ne soit ni trop petit ni trop grand, de préférence entre 5 et 10 secondes. Bien entendu, vous pouvez décider en fonction de votre propre situation.

log-queries-not-using-indexes

Si l'instruction SQL en cours d'exécution n'utilise pas d'index, la base de données MySQL enregistrera également cette instruction SQL dans le fichier journal des requêtes lentes.

Ce qui précède est le contenu de MySQL Advanced Eleven - Slow Query Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (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