首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在控制器中编写查询而不是在模型中

在控制器中编写查询而不是在模型中
EN

Stack Overflow用户
提问于 2019-06-27 12:36:10
回答 2查看 35关注 0票数 0

我想问一下,如果我们在控制器中而不是在模型中编写查询。它有什么效果吗?例如加载数据变慢或其他?

我想要使用的数据超过1000个。

如果没有,是什么原因导致web中的数据加载速度变慢。

比如ajax请求需要4-5秒,有些甚至需要1分钟

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-27 14:11:27

在控制器或模型中运行查询实际上没有区别,除了模型增加的少量(可忽略的)开销(如果是我,我不会担心)。如果您希望遵循MVC设计模式,数据库查询通常在模型中完成,而不是在控制器中完成。但这在CodeIgniter中更多的是一种风格上的东西,因为它并没有像在其他使用对象关系管理的框架中那样被严格执行。

话虽如此,如果您遇到了较长的执行时间,我建议您不要一次获取所有数据,而是使用load more、分页、数据表或类似的系统,根据您可以接受的执行/响应时间,将一次选择的记录量减少到更易于管理的程度。

您可以通过设置基准点来测试什么最适合您的情况:https://www.codeigniter.com/user_guide/libraries/benchmark.html

票数 0
EN

Stack Overflow用户

发布于 2019-06-27 20:24:16

我使用CodeIgniter已经有几年了,我意识到的是在模型中正确地进行查询。

MVC的思想是关于代码分离的,其中M(模型)处理或执行主要与数据库相关的应用程序的繁重提升,V(视图)处理系统用户与应用程序交互的表示,而C(控制器)充当模型和视图之间的信使或中介。

这将控制器从许多进程中释放出来,这样它就不必从数据库中查询,在将数据显示在视图上之前尝试上载大量数据。

我总是使用(我称之为小魔法) {elapsed_time}{memory_usage}来检查我的应用程序是如何按照我实现的逻辑工作的,你可以试一试。

我认为这很有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56783953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档