我正在为Symfony 2的捆绑软件创建控制台命令。此命令对数据库(Mysql)执行多个请求。为了调试我的命令,我需要知道在命令执行过程中执行了多少SQL查询。如果可能的话,显示这些请求(像Symfony分析器那样)Symfony2 - SQL请求的数量
(我有和AJAX请求相同的问题。当我发出AJAX请求时,我无法知道请求期间执行了多少查询,如果你有一个想法...)
谢谢你提前给任何人可能会给我一些想法。 :)
我正在为Symfony 2的捆绑软件创建控制台命令。此命令对数据库(Mysql)执行多个请求。为了调试我的命令,我需要知道在命令执行过程中执行了多少SQL查询。如果可能的话,显示这些请求(像Symfony分析器那样)Symfony2 - SQL请求的数量
(我有和AJAX请求相同的问题。当我发出AJAX请求时,我无法知道请求期间执行了多少查询,如果你有一个想法...)
谢谢你提前给任何人可能会给我一些想法。 :)
您可以启用日志记录的学说,如:
$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/
要返回塞萨尔什么塞萨尔自己。我在这里找到它:Count queries to database in Doctrine2
您可以将所有这些逻辑放入域模型中,仅将命令视为调用者。然后,您可以使用www和profiler进行诊断的控制器使用相同的域模型。
第二件事是你应该对此进行集成测试,并且你可以用这个测试来验证执行时间。
谢谢,我会看到:) – graille
我喜欢这个解决方案。好的建议 –