【发布时间】:2014-04-25 22:48:11
【问题描述】:
我们正在 yii 中开发一个具有复杂 UI 的应用程序。我不是程序员,但注意到应用程序页面加载时间似乎很慢。
我打开MySQL查询日志,发现有很多重复查询的实例,例如“select x,y,z from table where id = 1”、“select x,y,z from table where id = 2”、“select x,y,z from table where id = 3”。将这些替换为单个“select x,y,z from table where id in (1,2,3)”所需的持续时间与运行单个查询之一几乎相同。总的来说,这样做可以将加载时间缩短一个数量级。在我看来,查询是在循环中发生的,而不是首先构造 where 子句,将所有数据检索到数组中,然后循环遍历数组。
当我向编程团队指出这一点时,我被告知在 PHP 中循环遍历数组与执行单独的 SQL 调用一样慢。鉴于我在其他编程语言方面的经验,我觉得这很难相信,看起来 DAO 很容易做到这一点。另一个问题似乎是复杂的模型。任何建议表示赞赏。
【问题讨论】:
标签: yii