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

jiuxueliang · January 13, 2018 · Last by pathbox replied at January 14, 2018 · 1291 hits

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

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

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

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

Reply to eastrj

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

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

Reply to pathbox

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

Reply to jiuxueliang

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

Reply to pathbox

明白,谢谢。

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

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

Reply to pathbox

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

Reply to IChou

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

You need to Sign in before reply, if you don't have an account, please Sign up first.