Maison > Article > base de données > Voyez comment activer les requêtes lentes dans MySQL ? Une brève discussion sur le principe du journal des requêtes lent
Le journal des requêtes lentes Mysql est un enregistrement de journal fourni par MySQL. Il est utilisé pour enregistrer les instructions dans MySQL dont la durée correspondante dépasse le seuil. Cela signifie que SQL dont la durée d'exécution dépasse la valeur long_query_time sera enregistrée. . dans le journal des requêtes lentes. La valeur par défaut de long_query_time est 10, ce qui signifie exécuter des instructions pendant plus de 10 S.
Tutoriels vidéo MySQL associés recommandés : "Tutoriel MySQL"
Paramètres du journal des requêtes lentes
1. Vérifiez si le journal des requêtes lentes est. activé. Commande :
show variables like '%slow_query_log%'
2. Définissez la commande pour activer les requêtes lentes
set global slow_query_log=1
Remarque :
slow_query_log ON signifie allumer, OFF signifie éteindre
slow_query_log_file signifie Adresse de stockage du journal des requêtes lentes
3. Temps d'interrogation et de modification de la définition des requêtes lentes
show variables like 'long_query_time%'
set global long_query_time=4
4 Les requêtes qui n'utilisent pas d'index sont enregistrées dans le journal des requêtes lentes. . En cas de réglage, il est recommandé d'activer cette option. Si ce paramètre est activé, le SQL de l'analyse complète de l'index sera également enregistré dans le journal des requêtes lentes.
show variables like 'log_queries_not_using_indexes'
set global log_queries_not_using_indexes=1
5. Interrogez le nombre d'enregistrements de requêtes lentes
show global status like '%Slow_queries%';
outil d'analyse de journaux lents mysqldumpslow
Commande :
-s 按照那种方式排序 c:访问计数 l:锁定时间 r:返回记录 al:平均锁定时间 ar:平均访问记录数 at:平均查询时间 -t 是top n的意思,返回多少条数据。-g 可以跟上正则匹配模式,大小写不敏感。
Obtenez Renvoyez les 20 sql avec le plus d'enregistrements
mysqldumpslow -s r -t 20 sqlslow.log
et obtenez les 20 sql avec le nombre moyen de visites le plus élevé
mysqldumpslow -s ar -t 20 sqlslow.log
Obtenez les 20 sql avec le nombre moyen de visites le plus élevé et contenant des caractères ttt
mysqldumpslow -s ar -t 20 -g "ttt" sqldlow.log
Remarque :
1. Si une erreur -bash : mysqldumpslow : commande introuvable se produit, veuillez exécuter
ln -s /usr/local/mysql/bin/mysqldumpslow /usr/bin
2. , Décédé à la ligne 161 de /usr/ bin/mysqldumpslow, a8093152e673feb7aba1828c43532094 morceau 405659. Cela signifie que le journal SQL que vous souhaitez analyser est trop volumineux, veuillez le diviser puis l'analyser
La commande de fractionnement est :
tail -100000 mysql-slow.log>mysql-slow.20180725.log
Articles associés :
Activez le journal des requêtes lentes mysql et utilisez la commande mysqldumpslow pour l'afficher
Utilisez mysqldumpslow et mysqlsla pour analyser le journal des requêtes lentes mysql
Vidéos associées :
Tutoriel vidéo d'analyse de cas de sauvegarde et de récupération de gestion des données MySQL
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!