是否有一个相当于MySql的Profiler?

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

我发现使用SQL Server Profiler在开发,testing和debugging数据库应用程序时非常有用。 有谁知道,如果有一个等效的程序为MySql?

社区服务器版本5.0.37中的一些很酷的东西是MySQL的新分析器 。

这可能会给你你正在寻找什么信息。

你想要监视性能,还是只看看哪些查询正在执行? 如果是后者,你可以configurationMySQL来logging所有查询。 在RedHat Linux上,你可以添加

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

/etc/my.cnf的[mysqld]部分,然后重新启动MySQL。

请记住,在繁忙的数据库场景中,这些日志可能会变得相当大。

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

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

在我看来,我已经find了一切在这里原料….

在Ubuntu上查找并打开你的MySQLconfiguration文件,通常是/etc/mysql/my.cnf。 查找“logging和复制”部分

 # * 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中,注释掉这行代码

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

只需取消注释“日志”variables来打开日志。 用这个命令重启MySQL:sudo /etc/init.d/mysql restart

现在我们准备好开始监视查询了。打开一个新的terminal并运行这个命令来滚动日志文件,根据需要调整path。

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

如果版本5.0.37不可用,您可能需要查看mytop 。 它只是输出服务器的当前状态,但是允许你在特定的查询中运行EXPLAIN(参见mercutio)。

我不知道任何分析应用程序,但使用EXPLAIN语法分析查询是司空见惯。 您可以使用这些来确定要创build的最佳索引,或者可以尝试更改整体查询并查看它如何更改效率等。

不确定graphics用户界面,但有一个命令帮助我使用工作台在MySQL中分析存储过程:

 SET profiling = 1; call your_procedure; SHOW PROFILES; SET profiling = 0;