测量查询的时间

时间:2011-10-09 06:06:36

标签: php pdo

我正在使用PDO,有什么方法可以衡量完成查询需要多长时间?

3 个答案:

答案 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;

否则,您无法确定查询是否确实已执行或是否已从查询缓存中检索到(这可能是一个很大的区别)。