Codeigniter / Datamapper“where_related”导致查询过多

时间:2011-09-24 05:14:44

标签: php codeigniter codeigniter-datamapper

我在profilescategories之间有多对多的映射。这个查询:

$profiles = new Profile();  
$profiles->where('foobar_flag',1);
$profiles->where_related($category);
$profiles->get();

运行差不多30秒,该配置文件表中有大约1000个条目。还有一个类别表和profiles_categories表。我每次执行时最终会得到惊人的4000个查询。

如何加快速度?

1 个答案:

答案 0 :(得分:0)

如果您对datamapper中的某个函数不满意,要么找到一种简化的方法,因为您的活动记录查询可能只是过于昂贵了。

始终运行您的探查器:

$this->output->enable_profiler(TRUE);

这将让您真正了解幕后的情况。从那里优化。否则,我们需要更多代码才能提供相关答案。