在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
Yii2中是否有方法可以获取此信息?
答案 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