Maison > base de données > tutoriel mysql > le corps du texte

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

小云云
Libérer: 2017-12-22 13:24:35
original
1464 Les gens l'ont consulté

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>
Copier après la connexion

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
Copier après la connexion

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

.......
Copier après la connexion

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>
Copier après la connexion

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!

É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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!