Maison  >  Article  >  base de données  >  Exemples détaillés d'enregistrements SQL fastidieux par MySQL

Exemples détaillés d'enregistrements SQL fastidieux par MySQL

小云云
小云云original
2017-12-22 13:24:351478parcourir

mysql enregistre le SQL chronophage

mysql peut enregistrer le SQL fastidieux ou le SQL d'index inutilisé dans le journal lent à des fins d'optimisation et d'analyse. Cet article présente principalement les informations pertinentes sur l'explication détaillée des exemples SQL chronophages d'enregistrement Voici la méthode d'implémentation. Les amis qui en ont besoin peuvent s'y référer.

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 'log_slow_queries';
+------------------+-------+
| 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 :


mysql> show variables like 'log_slow_queries';
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| log_slow_queries | ON | 
+------------------+-------+
1 row in set (0.00 sec)

mysql> show variables like 'long_query_time';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| long_query_time | 2  | 
+-----------------+-------+
1 row in set (0.00 sec)

mysql>

Recommandations associées :

mysql enregistre du temps sql_MySQL

Utiliser MySQL pour analyser SQL problèmes chronophages

Sur la façon de gérer les fichiers php chronophages

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