当我运行查询时,我不希望它打印到控制台。我只是想看看时间。
9166 rows in set (0.90 sec)
这就是我想看到的,而不是打印所有内容。
试试这个简单的例子
mysql> set profiling=1;
mysql> select count(*) from comment;
mysql> select count(*) from message;
mysql> show profiles;
+----------+------------+------------------------------+
| Query_ID | Duration | Query |
+----------+------------+------------------------------+
| 1 | 0.00012700 | select count(*) from comment |
| 2 | 0.00014200 | select count(*) from message |
+----------+------------+------------------------------+
2 rows in set (0.00 sec)
您可以在子查询中编写查询,COUNT
以执行以下操作:
SELECT COUNT(1)
FROM ( SELECT * FROM your_table WHERE ...) a
它可能会稍微减慢您的查询速度,因为它COUNT
也在这样做,但我认为它可以忽略不计。
为了测量查询的性能,您可以PROFILES
在 MySQL 中打开如下:
SET profiling = 1;
有关更多详细信息,PROFILES
请参见此处。
$starttime = microtime(true);
//Do your query and stuff here
$endtime = microtime(true);
$duration = $endtime - $starttime; //calculates total time taken