Maison > Article > base de données > Requête lente MySQL : introduction à l'activation des requêtes lentes
L'activation du journal des requêtes lentes permet à MySQL d'enregistrer les requêtes qui dépassent le temps spécifié En localisant et en analysant les goulots d'étranglement des performances, les performances du système de base de données peuvent être mieux optimisées. L'article suivant présente principalement les informations pertinentes sur le démarrage d'une requête lente dans MySQL. Les amis dans le besoin peuvent s'y référer.
1. À quoi sert la requête lente ?
Elle peut enregistrer toutes les instructions SQL qui s'exécutent plus longtemps que long_query_time et vous aider à trouver des requêtes lentes. exécution SQL, il nous est pratique d'optimiser ces SQL.
2 Description du paramètre
slow_query_log
Statut d'activation des requêtes lentes
L'emplacement où le journal des requêtes lentes est stocké (ce répertoire nécessite les autorisations d'écriture du compte MySQL en cours d'exécution et est généralement défini sur le répertoire de stockage de données MySQL) slow_query_log_file
La requête dépasse Combien de secondes faut-il pour enregistrerlong_query_time
3 Étapes de configuration
. 1. Afficher les paramètres liés aux requêtes lentes
mysql> show variables like 'slow_query%'; +---------------------------+----------------------------------+ | Variable_name | Value | +---------------------------+----------------------------------+ | slow_query_log | OFF | | slow_query_log_file | /mysql/data/localhost-slow.log | +---------------------------+----------------------------------+ mysql> show variables like 'long_query_time'; +-----------------+-----------+ | Variable_name | Value | +-----------------+-----------+ | long_query_time | 10.000000 | +-----------------+-----------+
2. Méthode de réglage
Méthode 1 : Paramètre global variable
sur l'état "ON" slow_query_log
mysql> set global slow_query_log='ON';Définissez l'emplacement où le journal des requêtes lentes est stocké
mysql> set global slow_query_log_file='/usr/local/mysql/data/slow.log';Enregistrement de requête s'il dépasse 1 seconde
mysql> set global long_query_time=1;
Méthode 2 : Fichier de configuration Paramètres
[mysqld] slow_query_log = ON slow_query_log_file = /usr/local/mysql/data/slow.log long_query_time = 1
3. Redémarrez le service MySQL
service mysqld restart
4. Afficher les paramètres définis
mysql> show variables like 'slow_query%'; +---------------------+--------------------------------+ | Variable_name | Value | +---------------------+--------------------------------+ | slow_query_log | ON | | slow_query_log_file | /usr/local/mysql/data/slow.log | +---------------------+--------------------------------+ mysql> show variables like 'long_query_time'; +-----------------+----------+ | Variable_name | Value | +-----------------+----------+ | long_query_time | 1.000000 | +-----------------+----------+
4. Test
1. Exécutez une instruction SQL de requête lentemysql> select sleep(2);2. Vérifiez si le journal des requêtes lentes est généré
Si le log existe, MySQL active avec succès le paramétrage des requêtes lentes !
ls /usr/local/mysql/data/slow.log
Résumé
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!