我是Yii的新手。目前我正在学习Active Record延迟加载和急切加载。我已经搜索了互联网,但找不到任何好的文章解释在什么条件下我应该使用这些加载方法。这里有人可以解释一下吗?
感谢。
答案 0 :(得分:0)
这完全是关于n+1 problem。来自Yii guide
默认情况下,将生成并执行单个JOIN语句 渴望加载所涉及的所有关系。如果主表有 设置LIMIT或OFFSET查询选项,首先单独查询, 然后是另一个带回所有相关的SQL语句 对象。以前在1.0.x版中,默认行为是 如果急切加载涉及N,则会有N + 1个SQL语句 HAS_MANY或MANY_MANY关系。