Maison  >  Article  >  base de données  >  Explication détaillée de la façon dont MySQL enregistre les instances d'instructions SQL chronophages

Explication détaillée de la façon dont MySQL enregistre les instances d'instructions SQL chronophages

黄舟
黄舟original
2017-09-02 14:04:111790parcourir

Cet article présente principalement les informations pertinentes sur l'explication détaillée des exemples SQL que mysql enregistre. Voici la méthode d'implémentation. J'espère qu'elle pourra aider tous les amis dans le besoin à se référer

<.>mysql enregistre la consommation Lorsque sql

mysql peut enregistrer du SQL fastidieux ou du SQL non indexé dans le journal lent pour une analyse d'optimisation.

1. Activez le journal des requêtes lentes mysql :

Le journal des requêtes lentes mysql est très utile pour suivre les requêtes problématiques et peut analyser les requêtes gourmandes en ressources dans le courant programme.instruction SQL, comment ouvrir l'enregistrement du journal des requêtes lentes de MySQL ?


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

mysql>
Cela signifie que la fonction de journalisation lente n'est pas activée. devez modifier le fichier de configuration mysql. Ajoutez les deux paramètres suivants au fichier de configuration "[mysqld]":


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


long_query_time

Ce paramètre représente le temps de mesure d'une requête lente, l'unité est la seconde, le minimum est 1, la valeur par défaut est 10, toute instruction SQL dont le temps d'exécution dépasse long_query_time sera enregistré dans le journal des requêtes lentes

log-slow-queries[=file_name]

Le paramètre file_name est facultatif. La valeur par défaut est host_name. -slow.log. Si le paramètre file_name est spécifié, mysql Le journal des requêtes lentes sera enregistré dans le fichier défini par file_name. Si file_name fournit un chemin relatif, mysql enregistrera le journal dans le répertoire de données de mysql. être ajouté dans le fichier de configuration et ne peut pas être ajouté dans le fichier de configuration. Exécuté à partir de la ligne de commande.

2. Configuration de l'enregistrement des requêtes d'index inutilisées dans le journal lent

Ajouter "log_queries_not_using_indexes" dans le fichier de configuration de démarrage MySQL ou les paramètres de ligne de commande " peut être utilisé pour ajouter des instructions de requête d'index inutilisées au journal lent.

L'exemple est le suivant :



[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

.......
Après le redémarrage de MySQL, les résultats de la vérification sont les suivants :


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
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