是否有MySql的Profiler等效文件?

时间:2008-08-21 15:34:55

标签: mysql sql-server database

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

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

9 个答案:

答案 0 :(得分:33)

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

这可能会为您提供您正在寻找的信息。

答案 1 :(得分:10)

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

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

在重新启动MySQL之前,

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

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

答案 2 :(得分:8)

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

答案 3 :(得分:4)

在我看来,我发现这里的一切都是原始的......

在Ubuntu上找到并打开你的MySQL配置文件,通常是/etc/mysql/my.cnf。查找“记录和复制”部分

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

取消注释“log”变量以打开日志记录。使用以下命令重启MySQL:     sudo /etc/init.d/mysql restart

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

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

答案 4 :(得分:3)

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

答案 5 :(得分:2)

不确定图形用户界面,但是有一个命令帮助我使用工作台在MySQL中对存储过程进行了大量的分析:

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

答案 6 :(得分:1)

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

答案 7 :(得分:0)

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

答案 8 :(得分:0)

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