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

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

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

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

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

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

eastrj 回复

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

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

pathbox 回复

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

jiuxueliang 回复

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

pathbox 回复

明白,谢谢。

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

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

pathbox 回复

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

IChou 回复

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

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