在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
解决方法:
这相当于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;
}
否则,您将根据执行此命令的时刻获取信息.
官方文件: