8

我正在开发一个查询浏览器,使用一些大型数据库,我需要知道执行查询所花费的时间。

在 PHPMYADMIN 中成功执行查询后,我可以看到时间。

分析或Showing rows 0 - 29 (2,000 total, Query took 0.0145 sec)

例如:分析

SELECT * FROM `larger_table`;


Status                        Time
starting                     0.000026
checking permissions         0.000006
Opening tables               0.000014
System lock                  0.000010
init                         0.000022
optimizing                   0.000004
statistics                   0.000007
preparing                    0.000005
executing                    0.000001
Sending data                 0.014138
end                          0.000004
query end                    0.000002
closing tables               0.000005
freeing items                0.000091
logging slow query           0.000003
cleaning up                  0.000002

在查询浏览器中,我可以在浏览器窗口的底部看到它所花费的时间。

那么在提交查询执行时如何获取查询的执行时间。

即当我给出以下查询时:

SELECT * FROM `larger_table`;

查询应该返回执行它的时间。

这我应该在 PHP 中捕获并显示给用户。当用户在浏览器中执行一些查询时。

提交查询时有什么方法可以找到执行时间。?

请检查我标记估计时间的图像。 在此处输入图像描述

在此处输入图像描述

我发现了一些东西检查这个

4

2 回答 2

10

请使用下面的代码

$sql_query = 'SELECT * FROM larger_table';
$msc = microtime(true);
mysql_query($sql_query);
$msc = microtime(true) - $msc;
echo $msc . ' seconds'; // in seconds
echo ($msc * 1000) . ' milliseconds'; // in millseconds
于 2013-05-08T07:27:54.980 回答
2

看看下面 -

$sql_query='SELECT * FROM tablename';
$result = mysql_query($query);
$exec_time_result=mysql_query("SELECT query_id, SUM(duration) FROM information_schema.profiling GROUP BY query_id ORDER BY query_id DESC LIMIT 1;");
if (mysql_errno()) { die( "ERROR ".mysql_errno($link) . ": " . mysql_error($link) ); }
$exec_time_row = mysql_fetch_array($exec_time_result);
echo "<p>Query executed in ".$exec_time_row[1].' seconds';  

OutPut - 查询在 0.000121 秒内执行

于 2014-07-05T11:02:02.153 回答