gpt4 book ai didi

php - Symfony Doctrine 优化

转载 作者:可可西里 更新时间:2023-11-01 01:02:31 26 4
gpt4 key购买 nike

我在 USER 和 CATEGORY 表之间有 MN 关系。当用户有超过 100 个兴趣时出现问题。当我像这样执行非常简单的查询时:

  return $this->createQueryBuilder('usercategory')
->innerJoin('usercategory.user', 'u')
->innerJoin('usercategory.category', 'c')
->where('u.id = :user_id')
->setParameter('user_id', $user_id)
->getQuery()
->getResult();

Symfony 分析器报告超过 100 个查询的执行时间超过 150 毫秒。 90% 的查询看起来像

SELECT t0.category_name AS category_name1,t0.type AS type2, t0.status AS status3,  t0.category_id AS category_id4, t0.parent_id AS parent_id5 FROM categories t0 WHERE t0.category_id = ?

这意味着,如果用户有 100 个类别,doctrine 将执行 100 个查询来获取所有类别。

我做错了什么吗?我如何使用 DQL 使其更快?

谢谢,米洛斯

最佳答案

->addSelect('c') 

将使类别从您的查询中返回(而不是延迟加载它们)。

关于php - Symfony Doctrine 优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20050714/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com