我应该在模型中使用一个大型SQL查询还是将其分解为较小的查询?

时间:2012-05-23 15:05:17

标签: php sql codeigniter join

我正在为我的一个项目使用codeigniter,现在我所拥有的是一个包含PROJECT信息的表,我在特定视图中显示所有PROJECTS。

现在,我还想要相同的视图来显示有关项目的其他相关信息,例如视图数量以及相关标签。但是这需要模型中的多个JOINS(这需要我改变现有的查询......)但是它会使视图不必直接调用模型。

如果我简单地分解查询,并且在VIEW中有2个与其他信息相关的单独查询,我会获得更好的性能吗?我发现这个更清楚,但我想知道它是否因为我在一个循环中调用EACH项目的模型而变慢。

1 个答案:

答案 0 :(得分:1)

为什么不对两者进行编码 - 并使用CI Profilier?

进行测试

然后你将百分百肯定。此外 - 如果结果“接近”,您可以选择更适合您的编程逻辑的选项。

P.S。您还可以将对模型的多个调用循环到控制器中的数组(如$ projects),并将该变量传递给视图,因此在任一情况下,“视图”都不会直接调用“模型”。