我正在使用 Yii 框架,我有一个有很多评论的帖子,我需要获取一个帖子列表,每个帖子都应该包含最新的 5 条评论。
- 第一个选项:是在帖子和评论表之间建立连接,在 PHP 代码中,我应该规范化帖子列表以删除重复项并将评论放在每个相关帖子中。
- 第二个选项:是加载帖子列表,然后在 PHP 代码中迭代这些帖子列表并使用单独的 sql 命中加载每个帖子的评论。
哪一个性能最好,有没有更好的方法呢?
您永远不应该因为数据而对数据库进行增量点击。因此,第一种选择将是最明智的选择。如果您进行连接然后过滤掉您不需要的东西,您的程序将比您为前一个查询返回的每一行多执行一次数据库查找快得多。
有关更多信息,请在此处查看延迟加载和急切加载:http ://www.yiiframework.com/forum/index.php/topic/34412-eager-loading-vs-lazy-loading/