我正在开发一个查询浏览器,使用一些大型数据库,我需要知道执行查询所花费的时间。
在PHPMYADMIN中成功执行查询后,我可以看到时间。
分析或Showing rows 0 - 29 (2,000 total, Query took 0.0145 sec)
Ex:分析
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中捕获并向用户显示。当用户提供一些在浏览器中执行的查询时。
有没有办法在提交查询时找到执行时间。
请检查我标记估计时间的图像。
我找到了一些Check this
答案 0 :(得分:9)
请使用以下代码
$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
答案 1 :(得分: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秒内执行
答案 2 :(得分:1)