Maison  >  Article  >  base de données  >  Exemples de configuration et d'utilisation de journaux de requêtes lentes dans MySQL

Exemples de configuration et d'utilisation de journaux de requêtes lentes dans MySQL

黄舟
黄舟original
2017-09-18 10:23:121420parcourir

Le journal des requêtes lentes MySQL fournit des informations sur les requêtes qui dépassent le seuil de temps spécifié, fournissant une référence principale pour l'optimisation des performances
Le journal des requêtes lentes MySQL est activé. et La configuration est très simple. Vous pouvez spécifier le fichier (ou la table) enregistré, et le seuil de temps dépassé peut être enregistré pour ralentir SQL
Pour être honnête, par rapport à la trace ou aux événements étendus de SQL Server (bien que le. Le rôle de ces deux-là n'est pas seulement le cas), la configuration MySQL donne toujours aux gens une sensation très rafraîchissante.

1. Ouverture du journal des requêtes lentes

Dans des circonstances normales, il vous suffit d'ajouter la configuration slow_query_log = 1 dans le fichier de configuration, c'est-à-dire d'ouvrir le journal des requêtes lentes si slow_query_log_file. n'est pas spécifié, il générera automatiquement un fichier avec le nom d'hôte + 'slow'.log.

 

 2. Par défaut, le seuil de temps d'enregistrement des requêtes lentes est de 10 s

 

Par défaut, slow_query_log = In cas 1, lorsque vous démarrez MySQL, vous pouvez activer les requêtes lentes et générer automatiquement un fichier par défaut avec le nom d'hôte ++'slow'.log pour enregistrer les requêtes lentes qui dépassent l'exécution pendant plus de 10 secondes.

Vous pouvez également spécifier explicitement le nom du fichier journal des requêtes lentes (il sera automatiquement créé s'il n'existe pas) et le seuil de temps d'enregistrement des requêtes lentes (10 s non par défaut).

 

Notez que lors de la spécification de long_query_time dans le fichier de configuration, aucune unité de temps n'est requise, seule une valeur est requise, telle que 1 représentant 1s. Si l'unité de temps est spécifiée, le service ne pourra pas démarrer.

 

Ce qui suit est un exemple de SQL lent enregistré dans le fichier journal

 3. Enregistrez le journal des requêtes lentes à la table

Configuration : vous devez ajouter une configuration log_output pour enregistrer les requêtes lentes dans la table

Il existe une table slow_log par défaut sous la bibliothèque mysql, vous pouvez définir directement slow_query_log_file = slow_log pour enregistrer le journal des requêtes lentes dans la table.

 

Le SQL lent enregistré est le suivant. On peut constater que sql_text est une information binaire, pas le texte SQL original

Vous pouvez le convertir via la fonction CONVERT.

 

À propos de la différence entre les requêtes lentes enregistrées dans les fichiers journaux et les tables :

1. Requêtes lentes enregistrées dans les fichiers journaux et les tables , l'enregistrement lui-même n'est pas très différent s'il est enregistré dans le tableau, les informations sur le temps d'exécution de la requête lente ne peuvent pas être précises au niveau subtil

  2. Si les informations sur la requête lente sont enregistrées dans le tableau. , il est pratique d'interroger, mais comme il s'agit de données structurées, elles peuvent être un peu plus lentes que l'enregistrement dans un fichier journal de requête lent (fichier texte plat) (estimation personnelle). Si elles sont enregistrées dans un fichier, l'outil mysqldumpslow doit l'être. analysé.

3. Les requêtes lentes n'enregistrent pas les requêtes qui ne parviennent pas à s'exécuter. Par exemple, long_query_time est défini sur 10 (10 secondes) Si une requête dépasse 10 secondes, mais ne parvient pas à s'exécuter pour d'autres raisons, MySQL est lent. les requêtes ne seront pas enregistrées.

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