Maison  >  Article  >  base de données  >  Introduction détaillée à l'analyse des requêtes lentes MySql et à l'activation des journaux de requêtes lentes

Introduction détaillée à l'analyse des requêtes lentes MySql et à l'activation des journaux de requêtes lentes

黄舟
黄舟original
2017-03-22 14:19:211210parcourir

Cet article présente principalement l'analyse détaillée des requêtes lentes de MySql et comment activer le journal des requêtes lentes. Il a une certaine valeur de référence et les amis intéressés peuvent s'y référer.

Je suis également sur le point d'étudier MySQLoptimisation des performances récemment, donc aujourd'hui peut être considéré comme une note d'étude !

Dans les projets développés par nos amis, pour dépanner les problèmes MySQL et trouver les goulots d'étranglement de performances, les problèmes les plus faciles à trouver et à résoudre sont les requêtes lentes de MYSQL et les requêtes qui n'utilisent pas d'index.

Ensuite, je vais vous apprendre comment activer la journalisation lente des requêtes pour MySQL version 5.0 ou supérieure

OK, commençons par découvrir les instructions SQL dans MySQL qui ne sont pas « simples » à exécuter ; exécuter.

Tout d'abord, nous entrons dans la ligne de commande mysql via la commande mysql :

[root@yunuo_vm ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4977
Server version: 5.6.17 Source distribution
 
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
mysql>

ps : La version MySQL ici est 5.6.17

OK, entrez dans la console, Vérifions ensuite combien de secondes sont considérées comme des requêtes lentes dans la configuration par défaut de MySQL

mysql> show variables like 'long%';
+-----------------+-----------+
| Variable_name  | Value   |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+
1 row in set (0.00 sec)

Comme le montre le tableau ci-dessus, la limite de temps de requête lente par défaut du système est de 10 secondes. (Vous pouvez aussi décider en fonction de votre situation réelle)

mysql> set long_query_time=1;  注: 我设置了1, 也就是执行时间超过1秒的都算慢查询。
Query OK, 0 rows affected (0.00 sec)

Oh ! Enfin, vérifions si MySQL a activé la journalisation des requêtes lentes ;

mysql> show variables like 'slow%';
+---------------------+---------------+
| Variable_name    | Value     |
+---------------------+---------------+
| slow_launch_time  | 2       | 
| slow_query_log   | OFF      |
| slow_query_log_file | /tmp/slow.log |
+---------------------+---------------+

ps :

slow_query_log //Si la journalisation est activée

slow_query_log_file //Stockage des journaux location

MySQL n'active pas les requêtes lentes par défaut. Activons-le :

mysql> set global slow_query_log='ON';
Query OK, 0 rows affected (0.00 sec)

C'est tout ! ! ! N'est-ce pas très simple ?

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