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


should I use one large sql query in model or break it up into smaller queries?

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

现在,我还希望同一视图显示有关项目的其他相关信息,例如视图数以及关联的标记。但这需要在模型中有多个 JOINS(这需要我更改现有查询......(,但它会使视图不必直接调用模型。

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

你为什么不同时编写两者 - 并使用 CI Profilier 进行测试?

那么你将是100%确定的。此外 - 如果结果"接近",则可以选择更适合您的编程逻辑的选项。

附言您还可以将对模型的多次调用循环到控制器中的数组(如$projects(中,并将该变量传递给视图,因此在任何一种情况下,"视图"都不会直接调用"MODEL"。