我正在使用PDO,有什么方法可以衡量完成查询需要多长时间?
答案 0 :(得分:5)
您可以使用microtime(true)来获取执行所需的秒数:
$start = microtime(true);
//Your code
echo 'Time needed: ' . (microtime(true) - $start) . '.';
为了获得更准确的时间,你应该多次进行测试(这里10000):
$start = microtime(true);
for ($i = 0; $i < 10000; ++$i) {
//Your code
}
echo 'Time needed: ' . (microtime(true) - $start) . '.';
@ Baz1nga,那段代码不起作用,因为microtime_float()不是一个函数(对不起,我无法评论,需要更多的声誉:()
答案 1 :(得分:1)
您是否尝试使用Micro Time来衡量时间。只需围绕这段代码包围您想要测量的任何内容,您就应该有时间。
$time_start = microtime_float();
// code to be measured
$time_end = microtime_float();
$timeMeasured = $time_end - $time_start;
function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
答案 2 :(得分:0)
正如Sietse所说,使用microtime函数来测量经过的微秒。
如果您在测试查询之前测试MySQL,请执行以下查询:
RESET QUERY CACHE;
否则,您无法确定查询是否确实已执行或是否已从查询缓存中检索到(这可能是一个很大的区别)。