一个双向 Doctrine2 关系的性能是否不如两个单向关系?



与教义2最佳实践相关:https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/best-practices.html

并与该帖子相关:为什么建议在ORM中避免双向关系?

我需要了解两个单向关系对性能的影响是否与一个双向关系一样多,或者更少,或者更多。

由于这两种类型的关系都会产生相同的 SQL,因此性能问题似乎与水合、持久性和 DQL 查询有关。

就像这里解释的那样:https://ocramius.github.io/blog/doctrine-orm-optimization-hydration/

首先,重要的是要了解性能问题发生在 PHP 端而不是 DBMS 端。

双向关系引起的性能问题主要与两点有关:

  • 模型变量的水化过程
  • 使用许多 JOIN 子句进行 DQL 查询

所以问题的答案是否定的。即使你可以用一个双向关系实现与两个单向关系相同的目标,但由于水合过程的优化,使用一个双向的绩效更高。

相关内容

  • 没有找到相关文章

最新更新