codeigniter - 在控制器中编写查询而不是模型
问题描述
我想问一下我们是否在控制器而不是模型中编写查询。它有什么作用吗?例如加载数据变慢还是其他?
我要使用的数据超过 1000。
如果不是,是什么让 web 中的数据加载速度变慢。
就像需要 4-5 秒的 ajax 请求,有些需要 1 分钟
解决方案
在控制器或模型中运行查询几乎没有区别,除了模型增加的少量(可忽略不计)开销(如果是我,我不会担心)。如果您想遵循 MVC 设计模式,数据库查询通常在模型中完成,而不是在控制器中完成。但这在 CodeIgniter 中更像是一种风格上的东西,因为它没有像在其他使用 ORM 的框架中那样严格执行。
话虽如此,如果您遇到较长的执行时间,我建议您不要一次获取所有数据,而是使用负载更多、分页、数据表或类似系统来减少一次选择的记录数量,使其更易于管理取决于您可接受的执行/响应时间。
您可以通过设置基准点来测试最适合您的情况:https ://www.codeigniter.com/user_guide/libraries/benchmark.html
推荐阅读
- reactjs - 无效的挂钩调用。尝试使用 useHistory 时,只能在函数组件的主体内部调用 Hooks
- amazon-web-services - 将 S3 存储桶中的所有 txt 文件合并为 1 个大文件
- html - 左对齐文本
- java - 为什么这个三元表达式不起作用?
- c++ - 如何返回在 std::variant 的所有替代项中定义的成员,即使成员是不同的类型?
- node.js - 如何在nestjs中添加passport-saml?
- python - Pydantic 允许在具有嵌套模型的字段上使用奇怪的类型
- search - ripgrep 查找包含多个单词的文件,可能在不同的行?
- java - 如何将 FireBase 云消息传递令牌存储在 Android 的 firebase 数据库中?
- django - 成功提交表单后重定向后的Django Form为空