关于sql server:是否有适用于MySql的Profiler?

Is there a Profiler equivalent for MySql?

" Microsoft SQL Server Profiler是SQL Trace的图形用户界面,用于监视数据库引擎或Analysis Services的实例。"

在开发,测试以及调试数据库应用程序问题时,我发现使用SQL Server Profiler非常有用。 有人知道MySql是否有等效程序吗?


MySQL的新探查器在社区服务器的5.0.37版本中很酷。

这可能会为您提供所需的信息。


您是要监视性能还是仅查看正在执行的查询?如果是后者,则可以将MySQL配置为记录它给出的所有查询。在RedHat Linux框中,您可以添加

log = /var/lib/mysql/query.log

在重新启动MySQL之前,请访问/etc/my.cnf的[mysqld]部分。

请记住,在数据库繁忙的情况下,这些日志可能会变得很大。


尝试JET profiler是一种实时查询性能和诊断工具!
我在工作中使用它。优秀的软件和支持。
查看用于MySQL的Jet Profiler


我认为我在这里发现了所有的东西。

查找并打开您的MySQL配置文件,通常是Ubuntu上的/etc/mysql/my.cnf。查找显示"日志记录和复制"的部分

1
2
3
4
5
# * Logging and Replication
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.

log = /var/log/mysql/mysql.log

或在较新版本的mysql中,注释掉这行代码

1
2
3
general_log_file        = /var/log/mysql/mysql.log
general_log             = 1
log_error                = /var/log/mysql/error.log

只需取消注释" log"变量即可打开日志记录。使用以下命令重新启动MySQL:
sudo /etc/init.d/mysql重新启动

现在,我们准备开始监视查询的出现。打开一个新终端,然后运行此命令滚动日志文件,并在必要时调整路径。

1
tail -f /var/log/mysql/mysql.log

Usin Neor Profiler SQL非常有用!该应用程序对所有用户都是免费的。 http://www.profilesql.com/download/ enter image description here


不确定图形用户界面,但是有一条命令可以帮助我使用Workbench在MySQL中对存储过程进行很多分析:

1
2
3
4
SET profiling = 1;
call your_procedure;
SHOW PROFILES;
SET profiling = 0;


如果是付费版本,Jet Profiler很好。 LogMonitor只是将其指向mysql日志文件。


如果版本5.0.37不可用,则可能需要查看mytop。它仅输出服务器的当前状态,但允许您对特定查询运行EXPLAIN as(由mercutio提及)。


我不了解任何此类分析应用程序,但是使用EXPLAIN语法分析查询是很平常的事。您可以使用它们来找出要创建的最佳索引,也可以尝试更改整体查询,并查看其如何改变效率等。


推荐阅读