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

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

有帮助吗?

解决方案

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

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

其他提示

您是否想要监控性能,或者只是查看正在执行哪些查询?如果是后者,您可以配置 MySQL 来记录它给出的所有查询。在 RedHat Linux 机器上,您可以添加

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

到 [mysqld] 部分 /etc/my.cnf 在重新启动 MySQL 之前。

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

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

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

找到并打开 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

或者在较新版本的 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 重新启动

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

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

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

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

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

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

使用 Neor Profiler SQL ,非常棒!并且该应用程序对所有用户免费。 http://www.profilesql.com/download/enter image description here

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top