适用于MySQL的Profiler程序,如MSSQL

时间:2013-04-19 04:17:08

标签: mysql sql profiler

是否有类似于T-SQL的Profiler,即用于跟踪MYSQL查询的SQL Server。

我正在使用Windows,XAMPP MySQL。我有这个PHP命令是如此简单,但它没有正确更新。我想看看它是否正常运行,所以我想像在MSSQL中一样跟踪它。

1 个答案:

答案 0 :(得分:2)

MySQL有一个内置的分析器,它可以让你看到非常详细的查询部分花了多少时间。

要启用它,请使用以下语句:

SET profiling = 1;

然后是这些步骤:

(1)执行您的查询。

(2)找出用于分析的查询ID:

SHOW PROFILES;

它会给你这样的东西:

Query_ID |  Duration | Query
---------+-----------+-----------------------
   2     | 0.0006200 | SHOW STATUS
   3     | 0.3600000 | (your query here)
  ...    | ...       | ...

现在您知道查询ID是(3)。

(3)描述查询。

SHOW PROFILE FOR QUERY 3;   // example 

这将返回详细信息,可能如下所示:

Status                          | Duration
--------------------------------+-------------------
starting                        | 0.000010
checking query cache for query  | 0.000078
Opening tables                  | 0.000051
System lock                     | 0.000003
Table lock                      | 0.000008
init                            | 0.000036
optimizing                      | 0.000020
statistics                      | 0.000013
preparing                       | 0.000015
Creating tmp table              | 0.000028
executing                       | 0.000602
Copying to tmp table            | 0.000176
Sorting result                  | 0.000043
Sending data                    | 0.080032
end                             | 0.000004
removing tmp table              | 0.000024
end                             | 0.000006
query end                       | 0.000003
freeing items                   | 0.000148
removing tmp table              | 0.000019
closing tables                  | 0.000005
logging slow query              | 0.000003
cleaning up                     | 0.000004

在此示例中,大部分时间实际上是花费将数据从服务器发送回客户端。