如何测试mySQL查询的速度?

时间:2010-05-10 13:38:59

标签: php mysql

我有一个选择和查询如下...

    $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);

如何测试查询运行的时间?

4 个答案:

答案 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)