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中有获取此信息的方法吗?
这等效于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)
否则,您将根据执行此命令的时间获取信息。
官方文件: