和上一篇一样 也是一篇翻译的文章,原文在这里 ,原作者:Mirza Pasic。 前言 开始这篇文章之前,我们先聊聊我们可能需要面对的问题。最近,有个客户抱怨页面打开非常慢。我决定打开 debug 信息来看看。其中 Query 部分令我非常吃惊,显示页面竟然用了 16500+ 个查询。 检查了一下。我找到了问题的源头—— 3 个 foreach 循环。它们通过 Model 里定义的关联关系来获取一些属性。它本来工作得非常正常,直到数据库里有 大约 5500 条数据。代码如下: $main_object = Ma…