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
L'ouverture et la configuration du journal des requêtes lentes MySQL sont très simples et. peut être spécifié Des fichiers (ou des tables) enregistrés, des seuils de temps dépassés, etc. peuvent être enregistrés pour ralentir SQL
Pour être honnête, par rapport à la trace ou aux événements étendus de sqlserver (bien que le rôle de ces deux-là ne soit pas seulement cela), Configuration de MySQL Cela donne toujours aux gens une sensation très rafraîchissante.
1. Pour ouvrir le 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é, un nom d'hôte + un fichier 'slow'.log
2. Par défaut, le seuil de temps d'enregistrement des requêtes lentes est de 10s
Par défaut , slow_query_log est spécifié = 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
Il peut. être converti via la fonction CONVERT. Un seul clic.
À propos de la différence entre les requêtes lentes enregistrées dans les fichiers journaux et les tables :
1. Les requêtes lentes sont enregistrées dans les fichiers journaux et les tables, et il n'y a pas différence dans les enregistrements eux-mêmes. Grande, si elle est enregistrée dans le tableau, les informations de temps d'exécution de la requête lente ne peuvent pas être précises au subtil,
2. Si les informations de requête lente sont enregistrées dans le tableau, C'est pratique pour les requêtes, mais comme il s'agit de données structurées, cela peut être un peu plus lent que l'enregistrement dans un fichier journal de requêtes lentes (fichier texte plat) (estimation personnelle). S'il est enregistré dans un fichier, l'outil mysqldumpslow). doit ê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!