我想问一下,如果我们在控制器中而不是在模型中编写查询。它有什么效果吗?例如加载数据变慢或其他?
我想要使用的数据超过1000个。
如果没有,是什么原因导致web中的数据加载速度变慢。
比如ajax请求需要4-5秒,有些甚至需要1分钟
发布于 2019-06-27 14:11:27
在控制器或模型中运行查询实际上没有区别,除了模型增加的少量(可忽略的)开销(如果是我,我不会担心)。如果您希望遵循MVC设计模式,数据库查询通常在模型中完成,而不是在控制器中完成。但这在CodeIgniter中更多的是一种风格上的东西,因为它并没有像在其他使用对象关系管理的框架中那样被严格执行。
话虽如此,如果您遇到了较长的执行时间,我建议您不要一次获取所有数据,而是使用load more、分页、数据表或类似的系统,根据您可以接受的执行/响应时间,将一次选择的记录量减少到更易于管理的程度。
您可以通过设置基准点来测试什么最适合您的情况:https://www.codeigniter.com/user_guide/libraries/benchmark.html
发布于 2019-06-27 20:24:16
我使用CodeIgniter已经有几年了,我意识到的是在模型中正确地进行查询。
MVC的思想是关于代码分离的,其中M(模型)处理或执行主要与数据库相关的应用程序的繁重提升,V(视图)处理系统用户与应用程序交互的表示,而C(控制器)充当模型和视图之间的信使或中介。
这将控制器从许多进程中释放出来,这样它就不必从数据库中查询,在将数据显示在视图上之前尝试上载大量数据。
我总是使用(我称之为小魔法) {elapsed_time}和{memory_usage}来检查我的应用程序是如何按照我实现的逻辑工作的,你可以试一试。
我认为这很有帮助。
https://stackoverflow.com/questions/56783953
复制相似问题