我有一个symfony管理生成器页面,其中每行进行多次函数调用,因此,几次访问数据库。
我向table_method
添加了一个查询并使用了一些连接,但它并没有减少在我的页面上执行的查询数量。
一个人应该做些什么来提高绩效?
答案 0 :(得分:2)
链接到“table_method”的查询必须包含所有字段,否则您可能会忽略某些kisa字段,或者您的查询未添加与样本相关的字段
Symfony根据手册来减少查询次数,如下所示:
# apps/backend/modules/job/config/generator.yml
config:
list:
table_method: retrieveBackendJobList
// 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;
}
// ...
答案 1 :(得分:0)
您可以在外键上禁用某些过滤器,它们有自己的特定请求,而不是基于table_method。