性能问题:从List中取还是从数据库中取数据?

就像题目中所说的那样,我现在对于取数据和经理的意见不统一。假设现在有这样的情景:在一个列表显示页面,已经有了从数据库里读取到的数据,比如就叫做List<User>。下面我... 就像题目中所说的那样,我现在对于取数据和经理的意见不统一。假设现在有这样的情景:在一个列表显示页面,已经有了从数据库里读取到的数据,比如就叫做List<User>。下面我要针对其中一条做详细显示,我这会是应该从数据库中查询呢,还是从应该从已经有的List<User>去查询,还是从数据库中查询呢。我参考了Hibernate的缓存机制,就是说Hibernate会把数据缓存到内存中,查询的时候先会在内存中读取,内存没有才会到数据库中查。如果是这样的话,那么从List<User>中查询就没有什么必要。我们现在用的Spring JDBC 做持久层框架,具体的我也不熟悉,不知道它有没有缓存。我是建议直接从数据库中读取,不知道各位的意见如何。 展开
 我来答
匿名用户
2011-05-24
展开全部
用Hibernate的话,还是从缓存查询吧
每次从数据库查询,并发小则没啥问题,大并发的话,数据库会撑不住,并发数有限值,达到并发数,后面的操作都要排队,有缓存的话,直接从缓存返回,不许要查数据库,性能总体来说要好于每次都去查数据库。

至于Spring,不知到你是不是指spring的Jdbc模板,那个的话,只是做简单封装,没有缓存,相当于直接用JDBC查询数据库,速度稍快于Hibernate,但并发大,就弱了些。

数据库操作是瓶颈.....

实际上使用Hibernate,只要不是特别复杂的sql,一般都用findby...处理就行了,缓存,缓存的同步都不用你操心

个人观点~~~

我才看清那个内存... 不是缓存....
从哪取,还是看你业务了,就是说,在看详细画面时,中间过程会不会有其他人改过详细画面数据,如果不会有人改,直接内存就行了。如果有可能会改,还是数据库....
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
MY天狼星
2011-05-24 · TA获得超过966个赞
知道小有建树答主
回答量:499
采纳率:0%
帮助的人:315万
展开全部
机制上我不清楚他俩有什么具体的区别,不过到现在为止我跟的这些项目都是从数据库中取的,一般来说直接从LIST中肯定会比再读一遍数据库快一些,但是如果详细查看的数据量大,条目多的时候LIST无论从缓存占用上还是从读取速度以及格式化处理上都会大打折扣。另外为了统一封装持久化层操作对象,也会选用再读一遍数据库的方式来进行,否则对外接口上可能会出现分歧,不利于后期维护和管理。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tjglf
2011-05-25 · 超过22用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:69.9万
展开全部
既然在list里已经有user,当然是在list里面取
首先到数据库里取要耗费时间和资源,既然事先加载在了list里,这不就是缓存了吗,如果担心频繁在list里查找做循环会耗费时间,那么就应该将list封装为HashMap,key为主键,get(key)取到的就是user。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式