Symfony2 - SQL请求数

时间:2016-08-18 18:13:19

标签: php mysql ajax symfony debugging

我正在使用Symfony 2为我的包创建一个控制台命令。该命令对数据库(Mysql)执行多个请求。为了调试我的命令,我需要知道在命令执行期间执行了多少SQL查询。如果可能,请显示这些请求(如Symfony探查器那样)

(我对AJAX请求也有同样的问题。当我发出AJAX请求时,我不知道在请求期间执行了多少查询,如果你有想法......)

提前感谢任何能够给我一些想法的人。 :)

2 个答案:

答案 0 :(得分:4)

您可以启用doctrine日志记录,如:

$doctrine = $this->get('doctrine');
$doctrine = $this->getDoctrine();    
$em = $doctrine->getConnection();

// $doctrine->getManager() did not work for me 
// (resulted in $stack->queries being empty array)

$stack = new \Doctrine\DBAL\Logging\DebugStack();
$em->getConfiguration()->setSQLLogger($stack);

... // do some queries

var_dump($stack->queries);

你可以去看看:http://vvv.tobiassjosten.net/symfony/logging-doctrine-queries-in-symfony2/

回到Cesar,Cesar拥有什么。我在这里找到它:Count queries to database in Doctrine2

答案 1 :(得分:0)

您可以将所有这些逻辑放入域模型中,并仅将命令视为调用者。然后,您可以使用相同的域模型与控制器使用www和profiler进行诊断。

第二件事是您应该对此进行集成测试,并且可以使用此测试验证执行时间。