“Microsoft SQL Server Profiler 是 SQL Trace 的图形用户界面,用于监视数据库引擎或分析服务的实例。”
我发现在开发、测试和调试数据库应用程序问题时使用 SQL Server Profiler 非常有用。有谁知道是否有适用于 MySql 的等效程序?
“Microsoft SQL Server Profiler 是 SQL Trace 的图形用户界面,用于监视数据库引擎或分析服务的实例。”
我发现在开发、测试和调试数据库应用程序问题时使用 SQL Server Profiler 非常有用。有谁知道是否有适用于 MySql 的等效程序?
社区服务器 5.0.37 版中很酷的东西是MySQL 的新分析器。
这可能会为您提供您正在寻找的信息。
您是想监控性能,还是只想查看正在执行的查询?如果是后者,您可以配置 MySQL 以记录它给出的所有查询。在 RedHat Linux 机器上,您可以添加
log = /var/lib/mysql/query.log
/etc/my.cnf
到重新启动 MySQL 之前的 [mysqld] 部分。
请记住,在繁忙的数据库场景中,这些日志可能会变得非常大。
试试 JET profiler 是一个实时查询性能和诊断工具!我在工作中使用它。优秀的软件和支持。 查看 Jet Profiler for MySQL
使用 Neo Profiler SQL,非常棒!并且该应用程序对所有用户都是免费的。https://www.profilesql.com/download/
在我看来,我发现这里的一切都是原始的......
找到并打开您的 MySQL 配置文件,通常是 Ubuntu 上的 /etc/mysql/my.cnf。查找“日志记录和复制”部分</p>
# * 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
如果它是付费版本,Jet Profiler 就很好。LogMonitor 只是将它指向 mysql 日志文件。
不确定图形用户界面,但有一个命令帮助我使用工作台在 MySQL 中对存储过程进行了很多分析:
SET profiling = 1;
call your_procedure;
SHOW PROFILES;
SET profiling = 0;
如果版本 5.0.37 不可用,您可能需要查看mytop。它只是输出服务器的当前状态,但允许您在特定查询上运行 EXPLAIN(由 mercutio 提到)。
我不知道任何这样的分析应用程序,但是使用 EXPLAIN 语法来分析查询是司空见惯的。您可以使用这些来找出要创建的最佳索引,或者您可以尝试更改整体查询并查看它如何改变效率等。