新手问题 请教一个关于数据库查询和内存的问题。

jiuxueliang · 2018年01月13日 · 最后由 pathbox 回复于 2018年01月14日 · 1356 次阅读

假如有我的主页需要 10 个分类下的 100 篇文章, 是一次查完:

还是分开查: 。。。。。。

哪一种比较好?假如是 100 个分类 1000 篇文章,或是更多呢?

虽然我是个菜鸟,但是查询写到 view 里不太好吧

对 eastrj 回复

谢谢提醒,那请教一下是要写到 model 里吗?我就是图方便写这了,对于规范写法我也很想了解。

一般情况 一次查出 100 个,只有一次 SQL 查询。如果你要查 1000 个文章 你不分页吗?

对 pathbox 回复

分页肯定分,只是假设一下,我只是想知道一次查询的数据个数与占用内存的平衡点。

对 jiuxueliang 回复

内存 是稀缺资源,不要做任何有可能爆内存的事情

对 pathbox 回复

明白,谢谢。

首先你的查询没有分页,其次这种实时要求不高的东西一定要做 Cache。

如果你一定想知道结果,可以打开 Development 模式下的 log,你可以用 log 里的 SQL 语句直接运行一下,检测资源占用,看哪种合适。

对 pathbox 回复

由于 GC 的存在,通常情况下内存没有想象中那么稀缺,相比起来数据库查询更容易成为瓶颈

对 IChou 回复

是的,数据库瓶颈是更容易凸显的。一个请求消耗大量内存,在系统请求量不高的情况下可能没什么问题,在请求量高的情况,对系统影响是很大的,GC 的任务也会变重,我觉得也应该尽量避免

需要 登录 后方可回复, 如果你还没有账号请 注册新账号