Yii2 db getStats(db查询号)

时间:2015-03-17 08:46:54

标签: php yii yii2

在Db-component Yii中有一个有用的方法getStats

$sql_stats = YII::app()->db->getStats();
echo $sql_stats[0] //the number of SQL statements executed
echo $sql_stats[1] //total time spent

Official documentation link

Yii2中是否有方法可以获取此信息?

2 个答案:

答案 0 :(得分:6)

这相当于Yii 2:

$profiling = Yii::getLogger()->getDbProfiling();

$profiling[0]包含数据库查询的总数,$profiling[1] - 总执行时间。

请注意,如果您想在请求结束时获取有关所有查询的信息,请在正确的位置执行此代码,例如afterAction()

public function afterAction($action, $result)
{
    $result = parent::afterAction($action, $result);

    $profiling = Yii::getLogger()->getDbProfiling();

    ...

    return $result;
}

否则,您将根据执行此命令的时刻获取信息。

官方文档:

答案 1 :(得分:0)

如果启用调试工具栏,您将获得更多信息,这比这要好得多。此外,您还可以启用日志记录,这也可以为您提供更多信息。

有关此处调试工具栏的更多信息http://www.yiiframework.com/doc-2.0/ext-debug-index.html以及有关此处日志记录的详细信息http://www.yiiframework.com/doc-2.0/guide-runtime-logging.html