计算每个页面加载PDO的查询数

时间:2012-10-12 01:10:32

标签: php mysql pdo

我特意想在每次执行查询时以某种方式扩展PDO对象以添加内部计数器。我希望以某种方式执行此操作,因为我不必更改任何现有查询或添加额外函数like this suggests

我不熟悉类或PDO类,但是可以这样做吗?我该怎么做呢?

我在考虑扩展queryexecute并在每次调用时增加存储的变量。

2 个答案:

答案 0 :(得分:7)

扩展PDO将像任何其他类一样完成。这会满足你的需求吗?唯一的其他代码更改是在进行初始连接时必须实例化此类而不是PDO类。

class PDOEx extends PDO
{
    private $queryCount = 0;

    public function query($query)
    {
    // Increment the counter.
        ++$this->queryCount;

    // Run the query.
        return parent::query($query);
    }

    public function exec($statement)
    {
    // Increment the counter.
        ++$this->queryCount;

    // Execute the statement.
        return parent::exec($statement);
    }

    public function GetCount()
    {
        return $this->queryCount;
    }
}

答案 1 :(得分:0)

执行:

SHOW PROFILES;

最伟大的Query ID就是你所追求的。这也将为您提供有关最近15(默认)查询执行时间的信息。