1

我是 Yii 的新手。目前我正在学习 Active Record 延迟加载和急切加载。我已经搜索了互联网,但找不到任何好的文章来解释我应该在什么情况下使用这些加载方法。这里有人可以解释一下吗?

谢谢。

4

1 回答 1

0

这都是关于n+1 问题的。来自Yii 指南

默认情况下,将为预先加载中涉及的所有关系生成并执行单个 JOIN 语句。如果主表设置了它的 LIMIT 或 OFFSET 查询选项,它将首先单独查询,然后是另一个带回其所有相关对象的 SQL 语句。在之前的 1.0.x 版本中,默认行为是如果预加载涉及 N 个 HAS_MANY 或 MANY_MANY 关系,则将有 N+1 个 SQL 语句。

于 2012-10-14T17:04:48.657 回答