是否有MySql的Profiler等效文件?

And*_*mer 60 mysql database sql-server

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

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

Bug*_*ill 33

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

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

  • 仅供参考,上面的链接似乎已经死了,它让我进入了一个空白的Orace搜索页面.以下是SHOW PROFILES语法的链接,它将帮助您执行您想要执行的操作:http://dev.mysql.com/doc/refman/5.0/en/show-profiles.html. (11认同)
  • 仅供参考:使用waybackmachine的快照更新原始链接 (3认同)
  • 请注意,这个答案是关于 SQL Profiler,它主要是一个分析工具,用于了解单个 SQL 查询的执行方式。这很棒,但大多数 Microsoft SQL Profiler 用户都会寻找跟踪工具,即显示已执行的 SQL 的工具。 (2认同)

Jon*_*per 11

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

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

/etc/my.cnf重启MySQL之前的[mysqld]部分.

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


Dev*_*d G 8

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


小智 8

使用 Neor Profiler SQL,非常棒!该应用程序对所有用户免费。https://www.profilesql.com/download/ 查询流程的图片

  • 我试图在我的 ubuntu 上使用它,但它甚至没有连接到 mysql。 (3认同)

Mat*_*ija 7

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

找到并打开你的 MySQL 配置文件,在 Ubuntu 上通常是 /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
Run Code Online (Sandbox Code Playgroud)

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

general_log_file        = /var/log/mysql/mysql.log
general_log             = 1
log_error                = /var/log/mysql/error.log
Run Code Online (Sandbox Code Playgroud)

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

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

tail -f /var/log/mysql/mysql.log
Run Code Online (Sandbox Code Playgroud)


Mau*_*Alo 5

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

SET profiling = 1;
call your_procedure;
SHOW PROFILES;
SET profiling = 0;
Run Code Online (Sandbox Code Playgroud)