Symfony:如何优化Doctrine查询?

Elo*_*fin 0 doctrine symfony1 query-optimization

我想知道如何优化我的Doctrine查询,因​​为我的一些查询太长了.

我不想特别针对我的查询方法,但是我可以将常用方法应用于所有请求,因为我找不到有关此方法的信息.

rek*_*o_t 10

以下是一些使Doctrine表现更好的技巧:

http://www.doctrine-project.org/projects/orm/1.2/docs/manual/improving-performance/en#improving-performance

我注意到的变化是最大的变化:

  • 尽可能使用阵列水合作用而不是物体水合作用(效率更高)
  • 除了编写原型代码外,不要使用魔术探测器
  • Doctrine有很好的缓存工具; 如果您还没有为查询设置查询和结果缓存(它非常自动化且易于设置:http://www.doctrine-project.org/projects/orm/1.2/docs/manual/caching/en)
  • 请记住在DQL查询中加入您在处理代码中使用的所有关系; 如果不这样做,将使Doctrine为每个访问未获取关系的关系启动一个"隐藏"查询.