php - 计算查询时间 php & Mysql

标签 php mysql execution-time

我正在尝试计算使用 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/

相关文章:

php - gRPC 在终端中工作但不在 laravel 项目中

c++ - 使用 mysql++ 库时出现问题

mysql - MySQL 中何时使用单引号、双引号和反引号

mysql - 如何在codeigniter的 Controller 中传递下拉列表值id

node.js - 如何使用 node.js 设置脚本的最大执行时间?

php - 验证更新排除某些字段

php - 使用jquery没有结果

php - 自定义 PHP 扩展的问题

sql - 简单的更改会导致 SQL 查询执行时间急剧增加

drupal cron的最大执行时间