Maison  >  Article  >  base de données  >  Qu'est-ce qu'une instruction de requête lente MySQL ?

Qu'est-ce qu'une instruction de requête lente MySQL ?

WBOY
WBOYoriginal
2022-02-24 11:11:514754parcourir

Dans MySQL, les instructions de requête lentes font référence aux instructions dont le temps de réponse dépasse le seuil dans le journal des requêtes lentes. La durée d'exécution spécifique dépasse la valeur "long_query_time" de l'instruction SQL. Vous pouvez définir le paramètre "slow_query_log" pour définir si vous le souhaitez. activer les requêtes lentes, "1" signifie activé, "0" signifie désactivé.

Qu'est-ce qu'une instruction de requête lente MySQL ?

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

Qu'est-ce que l'instruction de requête lente MySQL

Le journal des requêtes lentes de MySQL est un enregistrement de journal fourni par MySQL. Il est utilisé pour enregistrer les instructions dont le temps de réponse dépasse le seuil dans MySQL. Plus précisément, il fait référence à SQL dont la durée d'exécution dépasse la valeur long_query_time. . Puis Sera enregistré 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 10S.

Par défaut, la base de données Mysql ne démarre pas le journal des requêtes lentes. Nous devons 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é de démarrer ce paramètre, car il est activé. Le journal des requêtes causera plus ou moins de problèmes. Il y aura un certain impact sur les performances. Le journal des requêtes lentes prend en charge l'écriture des enregistrements de journal dans des fichiers ainsi que l'écriture d'enregistrements de journal dans les tables de base de données.

Explication des paramètres liés aux requêtes lentes MySQL :

  • 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.

slow_query_log

Par défaut, la valeur de slow_query_log est OFF, ce qui signifie que le journal des requêtes lentes est désactivé. Il peut être activé en définissant la valeur de slow_query_log, comme indiqué ci-dessous :

mysql> show variables  like '%slow_query_log%';
 +---------------------+-----------------------------------------------+
 | Variable_name       | Value                                         |
 +---------------------+-----------------------------------------------+
 | slow_query_log      | OFF                                           |
 | slow_query_log_file | /home/WDPM/MysqlData/mysql/DB-Server-slow.log |
 +---------------------+-----------------------------------------------+

rows in. set (0,00 sec)

mysql> set global slow_query_log=1;
 Query OK, 0 rows affected (0.09 sec)

L'utilisation de set global slow_query_log=1 pour activer le journal des requêtes lentes ne prendra effet que sur la base de données actuelle et deviendra invalide après le redémarrage de MySQL.

Si vous souhaitez que cela prenne effet de manière permanente, vous devez modifier le fichier de configuration my.cnf (il en va de même pour les autres variables système).

my.cnf Pour ajouter ou modifier les paramètres slow_query_log et slow_query_log_file, comme indiqué ci-dessous

slow_query_log = 1
slow_query_log_file = /tmp/mysql_slow.log

Redémarrez ensuite le serveur MySQL.

slow_query_log_file

Ce paramètre est utilisé pour spécifier le chemin de stockage du journal des requêtes lentes. La valeur par défaut est le fichier host_name-slow.log

mysql> show variables like 'slow_query_log_file';
 +---------------------+-----------------------------------------------+
 | Variable_name       | Value                                         |
 +---------------------+-----------------------------------------------+
 | slow_query_log_file | /home/WDPM/MysqlData/mysql/DB-Server-slow.log |
 +---------------------+-----------------------------------------------+
 1 row in set (0.00 sec)

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