如何检查项目的 slow_query?
How to check slow_query for a project?
我刚刚遇到一个非常有用的功能,它是 slow_query_log
可以检查 运行 缓慢的查询。我设法在 link 之后执行了 CMD 中的命令:
https://www.a2hosting.com/kb/developer-corner/mysql/enabling-the-slow-query-log-in-mysql
日志文件是在项目文件夹中创建的,里面没有查询,所以应该没有慢查询。
不过我想了解这个slow_query_log
是如何检查的,每个数据库,每个项目?
如果我想检查特定项目的慢速查询,我应该输入什么命令? slow_query 东西如何知道我的 myproject 中列出的所有查询的位置,因此整个查询 运行 是什么?
Please explain this part to me.
这是我在 CMD 中执行命令的方式:
cd C:/wamp/bin/mysql/mysql5.7.14/bin
mysql -u myusername-p
enter password: mypassword
SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 5;
SET GLOBAL slow_query_log_file = 'C:/wamp/www/myproject/slow_query/log.php';
然后我退出CMD,返回输入,mysql SELECT SLEEP(6);
我在 slow_query/log.php
文件中找到了以下内容
wampmysqld, Version: 5.7.14 (MySQL Community Server (GPL)). started
with: TCP Port: 3306, Named Pipe: /tmp/mysql.sock Time
Id Command Argument
最好的方法是使用慢查询分析器。
我发现最好的是 Percona 的 pt-query-digest,它使您能够以多种不同的方式过滤和分析慢速日志。此工具包含在 Percona's Toolkit 中,其中有许多对 MySQL DBA
有用的工具
现在我假设您想根据 schema/database 过滤日志(在 MySQL 项目中它是一个陌生的概念),如果是这样,您将使用 pt-query-digest 使用 --filter '($event->{db} || "") =~ m/mydb/'
选项,其中 mydb 是您要过滤的数据库。
您可以在 Percona 的博客中阅读更多关于慢查询日志的有用信息,例如 this one
我刚刚遇到一个非常有用的功能,它是 slow_query_log
可以检查 运行 缓慢的查询。我设法在 link 之后执行了 CMD 中的命令:
https://www.a2hosting.com/kb/developer-corner/mysql/enabling-the-slow-query-log-in-mysql
日志文件是在项目文件夹中创建的,里面没有查询,所以应该没有慢查询。
不过我想了解这个slow_query_log
是如何检查的,每个数据库,每个项目?
如果我想检查特定项目的慢速查询,我应该输入什么命令? slow_query 东西如何知道我的 myproject 中列出的所有查询的位置,因此整个查询 运行 是什么?
Please explain this part to me.
这是我在 CMD 中执行命令的方式:
cd C:/wamp/bin/mysql/mysql5.7.14/bin
mysql -u myusername-p
enter password: mypassword
SET GLOBAL slow_query_log = 'ON';
SET GLOBAL long_query_time = 5;
SET GLOBAL slow_query_log_file = 'C:/wamp/www/myproject/slow_query/log.php';
然后我退出CMD,返回输入,mysql SELECT SLEEP(6);
我在 slow_query/log.php
文件中找到了以下内容
wampmysqld, Version: 5.7.14 (MySQL Community Server (GPL)). started with: TCP Port: 3306, Named Pipe: /tmp/mysql.sock Time
Id Command Argument
最好的方法是使用慢查询分析器。
我发现最好的是 Percona 的 pt-query-digest,它使您能够以多种不同的方式过滤和分析慢速日志。此工具包含在 Percona's Toolkit 中,其中有许多对 MySQL DBA
有用的工具现在我假设您想根据 schema/database 过滤日志(在 MySQL 项目中它是一个陌生的概念),如果是这样,您将使用 pt-query-digest 使用 --filter '($event->{db} || "") =~ m/mydb/'
选项,其中 mydb 是您要过滤的数据库。
您可以在 Percona 的博客中阅读更多关于慢查询日志的有用信息,例如 this one