正如标题所说,我需要以某种方式查询与最佳方式无关的分配表。使用dql,您可以连接映射的表,但如果它们未映射,我该如何处理。
例如,我的主索引页面查询次数最多(现在为71次)。据我所知,将来查询的项目越多(例如,如果我添加100个产品,查询将会非常快速地增加。
最大的问题是我的索引页面不仅查询一个控制器。例如:
的indexAction:
newProducts
这只是已经查询了所有对象的索引控制器。但是这些对象来自featureProducts
和<span class="top">{% render controller("MpShopBundle:Navbar:navbar" ) %}</span>
{% block sidebar %} {% render url( 'sidebar' ) %} {% endblock %}
以外的不同表格。也许我可以在一个查询中加入他们?但是他们想要分开。
不仅如此,在枝条中我还扩展了更多具有自己查询的控制器。
{{1}}
这一切总结为分配查询..减少查询计数最合理的方法是什么?
答案 0 :(得分:1)
您发布的控制器会产生大约5个查询,加入$newProducts
和$featureProducts
的查询不会保存任何内容。您的问题可能在于不是Fetch joined的关联,即:您的产品可能与某个其他实体有某种关联,当您在模板中迭代产品并想要获取关联的实体时,它将创建另一个查询到数据库加载该实体,因为它们是延迟加载的。请参阅this question了解如何解决此问题。