Yii2 db getStats(数据库查询数)

Ale*_*lex 3 php yii yii2

Db组件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
Run Code Online (Sandbox Code Playgroud)

官方文档链接

Yii2中有获取此信息的方法吗?

aro*_*hev 6

这等效于Yii 2:

$profiling = Yii::getLogger()->getDbProfiling();
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

    ...

    return $result;
}
Run Code Online (Sandbox Code Playgroud)

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

官方文件: