使用 PHP 的 MySQL 中的查询时间结果

2022-08-30 19:35:59

有没有办法获得MySQL查询的时间(特别是使用PHP)?即完成查询所花费的实际时间。

例如:棕色的结果为 1 - 10。(0.11 秒)

我试图寻找一个例子,但无济于事。以下是我的代码示例:

                    // prepare sql statement
                $stmt = $dbh->prepare("SELECT ijl, description, source, user_id, timestamp FROM Submissions WHERE MATCH (ijl, description) AGAINST (?)");

                // bind parameters
                $stmt->bindParam(1, $search, PDO::PARAM_STR);

                // execute prepared statement
                $stmt->execute();

对于我当前使用 MyISAM 表引擎进行的全文搜索。任何帮助都将是不可思议的。谢谢。


答案 1
$starttime = microtime(true);

//Do your query and stuff here

$endtime = microtime(true);
$duration = $endtime - $starttime; //calculates total time taken

请注意,由于参数为 true,这将为您提供以(不是微秒)到最接近微秒的运行时间。看到这个get_as_float


答案 2

这可能对您有所帮助

http://dev.mysql.com/doc/refman/5.0/en/show-profile.html

mysql> SET profiling = 1;
Query OK, 0 rows affected (0.00 sec)

mysql> DROP TABLE IF EXISTS t1;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> CREATE TABLE T1 (id INT);
Query OK, 0 rows affected (0.01 sec)

mysql> SHOW PROFILES;
+----------+----------+--------------------------+
| Query_ID | Duration | Query                    |
+----------+----------+--------------------------+
|        0 | 0.000088 | SET PROFILING = 1        |
|        1 | 0.000136 | DROP TABLE IF EXISTS t1  |
|        2 | 0.011947 | CREATE TABLE t1 (id INT) |
+----------+----------+--------------------------+

问候


推荐