Maison >base de données >tutoriel mysql >Qu'enregistre le journal des requêtes lentes de MySQL ?
Dans MySQL, le journal des requêtes lentes enregistre les instructions dont le temps de réponse dépasse le seuil ; le seuil de temps de réponse est la valeur dont le temps d'exécution dépasse "long_query_time". La valeur par défaut de cette valeur est 10, c'est-à-dire l'enregistrement du journal des requêtes lentes. s'exécute pendant plus de dix secondes. L'instruction SQL ci-dessus. Le journal des requêtes lentes écrit les enregistrements du journal dans les fichiers journaux et les tables de base de données.
L'environnement d'exploitation de ce tutoriel : système windows10, version mysql8.0.22, ordinateur Dell G3.
La requête lente de MySQL, le nom complet est SlowQuery Log, est un enregistrement de journal fourni par MySQL, qui est utilisé pour enregistrer les instructions dont le temps de réponse dépasse le seuil de MySQL.
Dans des environnements spécifiques, les instructions SQL dont la durée d'exécution dépasse la valeur long_query_time seront enregistrées dans le journal des requêtes lentes.
La valeur par défaut de long_query_time est 10, ce qui signifie que les instructions qui s'exécutent pendant plus de 10 secondes sont enregistrées.
Par défaut, la base de données MySQL ne démarre pas le journal des requêtes lentes et vous devez définir ce paramètre manuellement.
Bien sûr, s'il n'est pas nécessaire pour le réglage, il n'est généralement pas recommandé d'activer ce paramètre, car l'activation des journaux de requêtes lents aura un certain impact sur les performances.
Le journal des requêtes lentes prend en charge l'écriture des enregistrements de journal dans les fichiers journaux et les tables de base de données.
Description du paramètre
slow_query_log : s'il faut activer le journal des requêtes lentes, 1 signifie activé, 0 signifie désactivé.
log-slow-queries : Ancienne version (version inférieure à 5.6) Chemin de stockage du journal des requêtes lentes de la base de données MySQL. Vous ne pouvez pas définir ce paramètre et le système utilisera par défaut un fichier par défaut host_name-slow.log
slow-query-log-file : la nouvelle version (5.6 et supérieure) du chemin de stockage du journal des requêtes lentes de la base de données MySQL. Vous ne pouvez pas définir ce paramètre et le système utilisera par défaut un fichier par défaut host_name-slow.log
long_query_time : seuil de requête lente Lorsque la durée de la requête dépasse le seuil défini, les journaux seront enregistrés.
log_queries_not_using_indexes : les requêtes qui n'utilisent pas d'index sont également enregistrées dans le journal des requêtes lentes (facultatif).
log_output : méthode de stockage des journaux. log_output='FILE' signifie enregistrer le journal dans un fichier et la valeur par défaut est 'FILE'. log_output='TABLE' signifie stocker le journal dans la base de données.
Connaissances étendues :
1. Vérifiez l'état de la fonction de journal lent. La fonction de journal lent est désactivée par défaut. Afficher des variables telles que '%slow_query_log%' ; est désactivé et la journalisation lente est enregistrée. Stocké dans le fichier DESKTOP-2331B4V-slow.log, DESKTOP est le nom de mon ordinateur.
2. Activez la fonction de journal lent, définissez global slow_query_log=1 ;
Ensuite, interrogez l'état du journal lent
L'état est ON, 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 la durée de long_query_time. La valeur par défaut de 10 secondes est trop longue. Définissez global long_query_time=3 ;
Rouvrez une session, entrez simplement une commande (notez que si vous y êtes toujours). la session où long_query_time est défini) Si vous interrogez la durée long_query_time, c'est toujours la valeur par défaut de 10 secondes, vous devez donc redémarrer une session) et interrogez à nouveau la durée long_query_time
Apprentissage recommandé :
Tutoriel vidéo MySQLCe 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!