在mysql慢速查询日志中,我发现了一个需要优化的查询。所有查询都由条令生成。但是这个项目有很多文件,我不知道在哪里可以找到生成这个查询的理论代码行。有没有什么办法可以找到由条令产生的疑问?
owfi6suc1#
我不建议你编辑你想编辑的东西。每次生成实体时,symfony也会生成一个存储库(src/appbundle/repository)您将在reposity中创建自定义函数和查询。至于dql的例子,这里有很多,所以…;)
wxclj1h52#
这不是一个完美的解决方案,而是一些一般性的建议。如果您可以在调试模式下访问站点,请打开symfony profiler并查看性能选项卡。您将看到应用程序处理任务所花时间的瀑布图。条令查询以橙色显示,如果您大致知道您要查找的查询总数中的什么位置,您可以收集一些信息。例如,如果特定查询是要运行的第五个查询(您可以在“条令”选项卡中找到),则可以使用探查器查看查询何时大致运行。在本例中,第一个查询是检查登录状态的用户查找查询(请注意,它在我的控制器运行之前运行)。如果我在我的twig文件中调用数据库查询,则document查询将显示在底部绿线的时间线中。然后我就会知道如何在细枝文件中查找查询。只是一些建议,以帮助您找到查询。
2条答案
按热度按时间owfi6suc1#
我不建议你编辑你想编辑的东西。
每次生成实体时,symfony也会生成一个存储库(src/appbundle/repository)您将在reposity中创建自定义函数和查询。
至于dql的例子,这里有很多,所以…;)
wxclj1h52#
这不是一个完美的解决方案,而是一些一般性的建议。如果您可以在调试模式下访问站点,请打开symfony profiler并查看性能选项卡。您将看到应用程序处理任务所花时间的瀑布图。条令查询以橙色显示,如果您大致知道您要查找的查询总数中的什么位置,您可以收集一些信息。
例如,如果特定查询是要运行的第五个查询(您可以在“条令”选项卡中找到),则可以使用探查器查看查询何时大致运行。在本例中,第一个查询是检查登录状态的用户查找查询(请注意,它在我的控制器运行之前运行)。
如果我在我的twig文件中调用数据库查询,则document查询将显示在底部绿线的时间线中。然后我就会知道如何在细枝文件中查找查询。
只是一些建议,以帮助您找到查询。