我有一个选择和查询如下...
$sql = "SELECT *
FROM notifications
WHERE to_id='".$userid."'
AND (alert_read != '1' OR user_read != '1')
ORDER BY alert_time DESC";
$result = mysql_query($sql);
如何测试查询运行的时间?
答案 0 :(得分:9)
在您的特定会话的INFORMATION_SCHEMA
数据库中创建了一个MySQL系统变量profiling
。请参阅以下代码:
mysql> set profiling=1;
只需执行查询...查询的执行会话将存储在INFORMATION_SCHEMA
。
mysql> select count(*) from client where broker_id=2;
查询完成后,只需执行以下行:
mysql> show profiles;
显示查询的整个执行时间。只需执行并告诉查询ID如下所示即可获得查询的执行/速度。
mysql> show profile for query 1;
答案 1 :(得分:2)
在mysql_query之前和之后使用php函数microtime(),然后比较结果。
$time1 = (int) microtime();
$result = mysql_query($sql);
$time2 = (int) microtime();
echo ($time2 - $time1);
(如果您使用microtime(true) - 返回浮点数,您将获得更少的精确数)
答案 2 :(得分:1)
如果您从mysql控制台运行查询,则在查询运行后会立即显示速度。
答案 3 :(得分:0)