Maison >base de données >tutoriel mysql >Explication détaillée de la requête lente MySQL

Explication détaillée de la requête lente MySQL

怪我咯
怪我咯original
2017-04-01 10:12:401140parcourir

1 SlowQueryDefinition

signifie que mysql enregistre toutes les instructions SQL qui s'exécutent au-delà du seuil de temps défini par le paramètre long_query_time. Le journal des requêtes lentes est le journal qui enregistre ces SQL.
2 Activer le journal des requêtes lentes
Trouvez le fichier de configuration mysql my.cnf Ajoutez

log-slow-queries = D:/MySQL/log/mysqld-slow-query.log  #日志存在的位置。(注意权限的问题,可以不用设置,系统会给一个缺省的文件host_name-slow.log)

long-query-time = 5   #SQL执行时间阈值,默认为10秒。

#log-long-format   #说log-long-format选项是用来设置日志的格式,它是以扩展方式记录有关事件。扩展方式可记录谁发出查询和什么时候发出查询的信息。可使我们更好地掌握客户端的操作情况。

#log-slow-admin-statements  #将慢管理语句例如OPTIMIZE TABLE、ANALYZE TABLE和ALTER TABLE记入慢查询日志。

log-queries-not-using-indexes #如果运行的SQL语句没有使用索引,则mysql数据库同样会将这条SQL语句记录到慢查询日志文件中。

sous mysqld pour terminer le processus. configuration Puis redémarrez le service mysql.
3 Tests 
Pour plus de commodité, j'ai uniquement configuré le chemin du journal des requêtes lentes dans my.cnf.
La version de MySQL est 5.1.73
À propos de long_query_time : à partir de MySQL 5.1, long_query_time commence à enregistrer la durée d'exécution de l'instruction SQL en microsecondes. Auparavant, elle n'était enregistrée qu'en secondes. Cela peut enregistrer plus précisément le temps d'exécution de SQL pour l'analyse DBA.
Entrez mysql.

mysql> show VARIABLES like "%slow%"; #查看慢查询日志相关的信息

mysql> set global long_query_time=0.01;  #将mysql位置的值改为 0.01

mysql> show variables like "long_query_time"; #查看是否生效

mysql> select sleep(2); #延迟2秒执行 注:这条sql执行完毕以后应该已经在慢查询的日志文件中产生相关的信息记录

mysql> show global status like '%slow%'; #查看慢查询语句的次数


Vous pouvez voir dans le fichier journal que SQL a été enregistré.
Explication détaillée de la requête lente MySQL

Résumé :
Activer les requêtes lentes MySQL sous Windows
Le fichier de configuration MySQL dans le système Windows est généralement my.ini, recherchez [mysqld] et ajoutez
log-slow-queries = F:MySQLlogmysqlslowquery.log
long_query_time = 2
Activer la requête lente MySQL sous Linux
Le fichier de configuration de MySQL dans le système Windows est généralement my.cnf, recherchez [mysqld] et ajoutez-le ci-dessous Sur
log-slow-queries=/data/mysqldata/slowquery.log
long_query_time=2
Remarque
log-slow-queries=F:MySQLlogmysqlslowquery.log est lent L'emplacement où le journal des requêtes est stocké. Généralement, ce répertoire doit avoir des autorisations d'écriture pour le compte MySQL en cours d'exécution. Ce répertoire est généralement défini comme répertoire de stockage de données MySQL ; 2 dans
long_query_time=2 signifie que la requête ne sera pas stockée. enregistré jusqu'à ce que cela prenne plus de deux secondes



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