Maison  >  Article  >  base de données  >  Qu'enregistre le journal des requêtes lentes de MySQL ?

Qu'enregistre le journal des requêtes lentes de MySQL ?

WBOY
WBOYoriginal
2022-05-19 16:34:162632parcourir

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.

Qu'enregistre le journal des requêtes lentes de MySQL ?

L'environnement d'exploitation de ce tutoriel : système windows10, version mysql8.0.22, ordinateur Dell G3.

Qu'est-ce que le journal des requêtes lentes de MySQL enregistre ?

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 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!

Déclaration:
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