2008-08-21 104 views
52

”Microsoft SQL Server Profiler是SQL Trace的图形用户界面,用于监视数据库引擎或Analysis Services的实例。“是否有与MySql等价的Profiler? “

我发现使用SQL Server Profiler在开发,测试和调试数据库应用程序时非常有用。有谁知道是否有与MySql等效的程序?

回答

30

一些很酷的东西是在社区服务器的5.0.37版本是MySQL's new profiler

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

+11

仅供参考,上面的链接似乎是死的,它导致我到一个空白的Orace搜索页面。这里是SHOW PROFILES语法的链接,它可以帮助你做你想做的事情:http://dev.mysql.com/doc/refman/5.0/en/show-profiles.html。 – Bialecki 2011-08-14 06:52:57

+3

仅供参考:使用waybackmachine快照更新原始链接 – Leigh 2013-09-14 01:17:11

0

我不知道任何分析应用程序本身,但使用EXPLAIN语法分析查询是司空见惯。您可以使用这些找出最佳索引创建,或者你可以尝试改变整个查询,看看它是如何改变效率等

1

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

8

你想要监视性能,还是只看看哪些查询正在执行?如果是后者,你可以配置MySQL来记录所有查询。在红帽Linux中,你可能会重新启动MySQL的前添加

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

/etc/my.cnf的[mysqld]部分。

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

3

如果Jet Profiler是一个付费版本,它是很好的选择。 LogMonitor只是将它指向mysql日志文件。

6

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

2

在我看来,我在这里生的一切发现....

找到并打开你的MySQL配置文件,通常/etc/mysql/my.cnf在Ubuntu。寻找这样的“记录和复制”

# * 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 

的这行的部分就取消注释“日志”变量开启记录。使用以下命令重新启动MySQL: sudo /etc/init.d/mysql restart

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

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

不知道有关的图形用户界面,但不存在已经帮助我使用安排设定档存储过程在MySQL的很多命令:

SET profiling = 1; 
call your_procedure; 
SHOW PROFILES; 
SET profiling = 0; 
相关问题