2010-10-13 60 views

回答

0

使用默认

$this->Post->find('list'); 

CakePHP的使这个查询:

SELECT `Post`.`id`, `Post`.`name` FROM `posts` AS `Post` WHERE 1 = 1 

没有递归查询,因此更改该命​​令将不会提高查询

0

试试吧!

在调试模式下,Cake向您显示每个查询的运行时间。尝试两种方法,看看是否有任何改变。我的猜测是否定的,因为它只是从一张表中获取list查询的数据。

+0

还有一个问题是缓存请求操作缓存它到处的所有控制器或只有特定的位置。希望我让自己清楚 – aWebDeveloper 2010-10-13 07:17:13

+0

@Web不幸的是,我不明白......如果它是一个单独的主题,也许你想为它做一个单独的问题。 – deceze 2010-10-13 07:20:13

+0

@Web Developer - 我同意这应该是另一个问题,但看看这个网站。我认为您可以使用请求操作来缓存视图的某些部分,例如最近的文章边框。 http://mark-story.com/posts/view/how-using-requestaction-increased-performance-on-my-site/ – jimiyash 2010-10-13 09:19:00

1

没有,递归= -1意志在$ this-> Model-> find('list')的情况下没有帮助完整。

如果您想查找('all')或find('first'),那么它会更充分的使用。

例如。用户,VatInfo,VatInfoLog三个型号则

1)递归= -1

$这个 - > VatInfo->找到( '全部') 只会返回VatInfo表中的数据。

2)递归= 0

$这个 - > VatInfo->找到( '全部') 将返回$属于关联的用户和VatInfo 2表中的数据。

3)递归= 1

$这个 - > VatInfo->找到( '全部') 将返回$属于关联用户,$的hasMany VatInfoLog而VatInfo 3个表中的数据。