首页 > 解决方案 > 在控制器中编写查询而不是模型

问题描述

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

我要使用的数据超过 1000。

如果不是,是什么让 web 中的数据加载速度变慢。

就像需要 4-5 秒的 ajax 请求,有些需要 1 分钟

标签: codeignitermodel-view-controller

解决方案


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

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

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


推荐阅读