我正在尝试计算使用 php 脚本运行查询所需的时间:
例如:
$sql = "SELECT COUNT(*) FROM `order_items` LEFT JOIN `orders` ON `oi_o_id` = `o_id` WHERE `o_status` = 'completed' AND `oi_p_id` = '10' LIMIT 1";
$sqlStart = getMicroTime();
$result = mysql_query($sql);
$sqlEnd = getMicroTime();
$sqlTime = $sqlEnd - $sqlStart;
echo $sqlTime;
function getMicroTime() {
list($msec, $sec) = explode(' ', microtime());
return floor($sec / 1000) + $msec;
}
这似乎大部分时间都有效,但偶尔我会得到一个负值,例如-0.98840499995276
。 这怎么可能?有没有更好的方法来获取查询执行时间?
谢谢
最佳答案
你的 microtime 函数不是必需的,简单地做
$start = microtime(TRUE);
... do query
$end = microtime(TRUE);
传入 TRUE 值让 microtime() 将时间戳作为实际 float 返回,而不是某些[对所述人的智力的真正令人讨厌但准确的描述]认为是返回数据的有用方式的那种愚蠢的字符串格式。
关于php - 计算查询时间 php & Mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8156095/