Symfony1 如何提高symfony管理生成器页面的性能?

Symfony1 如何提高symfony管理生成器页面的性能?,symfony1,symfony-1.4,Symfony1,Symfony 1.4,我有一个symfony管理生成器页面,其中每一行都会进行几个函数调用,因此会多次访问数据库 我向table_method添加了一个查询,并使用了一些联接,但它并没有减少在我的页面上执行的查询数量 一个人应该怎么做才能提高这里的性能?链接到“table\u method”的查询必须包含所有显示的字段,否则您可能会忽略某些kisa字段,或者您的查询没有添加与样本相关的字段 Symfony根据手册所做的减少查询数量如下: # apps/backend/modules/job/config/g

我有一个symfony管理生成器页面,其中每一行都会进行几个函数调用,因此会多次访问数据库

我向
table_method
添加了一个查询,并使用了一些联接,但它并没有减少在我的页面上执行的查询数量

一个人应该怎么做才能提高这里的性能?

链接到“table\u method”的查询必须包含所有显示的字段,否则您可能会忽略某些kisa字段,或者您的查询没有添加与样本相关的字段

Symfony根据手册所做的减少查询数量如下:

   
 # apps/backend/modules/job/config/generator.yml
config:
  list:
    table_method: retrieveBackendJobList

您可以禁用外键上的某些筛选器,它们有自己的特定请求,而不是基于表方法。

原则:如果您在
table\u方法
查询中使用
select()
方法,您确定您在这里选择了任何连接的表以及使用eg
leftJoin()吗
?如果您要加入到表中,并且仍然看到其他查询,那么您没有选择某些值。缩小触发查询的调用范围,并确保选择了这些值。或者,您可能在模型类中的某个位置有手动dql调用。如果可能,发布您的table_方法代码。性能的提高令人惊讶!(没有什么比正确阅读文档更好的了!)我选择了这个作为最佳答案,尽管我应该注意到我还没有尝试过这里的建议。这个问题最终成为一个非优先事项。
 
    // lib/model/doctrine/JobeetJobTable.class.php
class JobeetJobTable extends Doctrine_Table
{
  public function retrieveBackendJobList(Doctrine_Query $q)
  {
    $rootAlias = $q->getRootAlias();
    $q->leftJoin($rootAlias . '.JobeetCategory c');
    return $q;
  }

  // ...