在开发环境中有16个数据库查询(在我的存储库中使用原则2.6和仅dql查询(。不知怎的,在生产中,完全相同的页面显示了101个查询——因为所有的关系都被查询了,甚至大多数关系都没有被使用。我尝试过不同的获取模式,比如EAGER,但它没有改变任何东西。
以下是一个被查询但从未在页面上使用的示例注释:
/**
* @var DoctrineCommonCollectionsCollection
*
* @AssertValid(traverse=true)
* @ORMOneToMany(targetEntity="Translation", mappedBy="origin", cascade={"persist", "remove"}, orphanRemoval=true, fetch="EAGER")
* @ORMOrderBy({"locale"="ASC"})
*/
private $translations;
可能是某种配置错误吗?
解决了它——根本原因是apcu。当我从切换时
doctrine:
orm:
metadata_cache_driver: apcu
query_cache_driver: apcu
result_cache_driver: apcu
至
doctrine:
orm:
metadata_cache_driver: apc
query_cache_driver: apc
result_cache_driver: apc
我得到了9个请求,而不是16个(dev(和101个(prod via apcu(。也许是服务器端模块出现了问题。