Qu'est-ce que le journal des requêtes lentes de MySQL ? Définition : Une fonction de journalisation fournie par mysql. Elle est utilisée pour enregistrer les instructions SQL dont la durée correspondante dépasse la valeur de long_query_time. La valeur par défaut de long_query_time est de 10 secondes. SQL dont la durée correspondante dépasse 10 secondes sera enregistrée dans le journal.
1. Vérifiez l'état de la fonction de journal lent. La fonction de journal lent est désactivée par défaut.
show variables like '%slow_query_log%';
OFF indique que la fonction de journal lent est activée. éteint et l'enregistrement du journal lent est stocké dans le fichier DESKTOP-2331B4V-slow.log, DESKTOP est le nom de mon ordinateur.
2. Activez la fonction de journal lent
set global slow_query_log=1;
Vérifiez ensuite l'état du journal lent
L'état est activé, ce qui signifie que la fonction de journal lent est activée.
3. Vérifiez le temps long_query_time par défaut
long_query_time est de 10 secondes, ce qui signifie que les instructions SQ qui dépassent 10 secondes seront enregistrées dans le journal lent.
4. Définissez long_query_time, la valeur par défaut de 10 secondes est trop longue
set global long_query_time=3;
Rouvrez une session, s'il s'agit d'un système de fenêtre, tapez simplement à nouveau un cmd (notez que si c'est le cas toujours dans Si vous interrogez la durée de long_query_time dans la session où long_query_time est défini, ce sera toujours la valeur par défaut de 10 secondes, vous devez donc redémarrer une session) et interrogez à nouveau la durée de long_query_time
5. Simulation SQL fastidieuse
L'instruction SQL indique que la requête a duré 5 secondes, ce qui dépasse le long_query_time défini. Ensuite, ouvrez
DESKTOP-2331B4V-slow.log日志,内容如下: MySQL, Version: 5.5.60 (MySQL Community Server (GPL)). started with: TCP Port: 3306, Named Pipe: MySQLTime Id Command Argument # Time: 180729 12:52:29# User@Host: root[root] @ localhost [127.0.0.1] # Query_time: 5.005746 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0SET timestamp=1532839949;select sleep(5);
et vous verrez que le timeout SQL a été écrit dans le journal lent.
Lorsqu'il y a de nombreux journaux lents, vous pouvez également interroger le nombre de journaux lents
6. Configuration
L'exemple ci-dessus est configuré avec le commande , si la configuration devient invalide après le redémarrage de la base de données. Si vous souhaitez que la configuration reste valide après le redémarrage, vous pouvez ajouter la commande de configuration dans [mysqld] sous my.ini :
slow_query_log=1slow_query_log_file=d:/mysql/my.loglong_query_time=3long_output=FILE
Articles associés :
Analyse du journal des requêtes lentes MySQL
Utilisez mysqldumpslow et mysqlsla pour analyser le journal des requêtes lentes MySQL
Vidéos associées :
Données MySQL Tutoriel vidéo d'analyse des cas de sauvegarde et de récupération de gestion
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!