Java程序,多一次数据库查询,与循环相比,哪个性能更差?

kobe_byrant 2015-04-29 12:28:46
首先web程序,每天访问量巨大!
页面本身已经有一个数据库查询,我打算在此次数据库查询里把我需要的另一种信息查出来,而不是多一次数据库查询,这样的代价就是循环遍历结果集的时候,循环次数多了(预计最多多了100以内)。
想问下,两种方案哪个从性能方面来说更操蛋?
1,一次数据库查询查出所有,代价是多了几次循环。
2,分开两次数据库查询。
谢谢
...全文
11474 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
XxiaoxiaoL 2015-05-04
  • 打赏
  • 举报
回复
只考虑速度的话,循环好点
wangzhuoyan 2015-05-04
  • 打赏
  • 举报
回复
缓存应该可以配置存活时间把,如果数据不常用,可以考虑,至于循环,和查询数据库要看具体业务,测试环境,单纯的不太好说,例如你循环里还是有一些逻辑处理。
请叫我砖家 2015-05-04
  • 打赏
  • 举报
回复
一次性查询,如果关联表较多,可以用视图或者临时表
microhex 2015-05-03
  • 打赏
  • 举报
回复
两个方法compare吧、、
放纵的青春 2015-05-03
  • 打赏
  • 举报
回复
虽然简单来说循环比多连一次数据库好 但是也要看你循环里面做了些啥玩意···
dragonlw 2015-04-30
  • 打赏
  • 举报
回复 2
1) 通常情况下,数据库的链接释放开销比较大,可以一次性的查出来。 内存里面的循环操作开销要小的多 2)看你业务逻辑,如果用户只希望看到最近多少条记录,第一个分页页面就能满足80%的需求了,就可以分两次或多次查询数据库 3) 如果你查询出来的数据可能过期了 obsolete(别人修改过了),一次查出来就可能会有问题了。 当然co-editing 的情况可能例外,一个客户端的改动会同步到其他具有编辑权限的客户端并且及时更新。 没有最好的solution,只有最合适的solution
青元子 2015-04-30
  • 打赏
  • 举报
回复
为啥不写个测试类来测试两种情况呢
S117 2015-04-30
  • 打赏
  • 举报
回复
时间跑跑再说呀
tony4geek 2015-04-30
  • 打赏
  • 举报
回复
写个例子试试看看。
reinhardcao2 2015-04-30
  • 打赏
  • 举报
回复
至于缓存要看命中率,高的可以用,低的就算了。
reinhardcao2 2015-04-30
  • 打赏
  • 举报
回复
单从查库和循环来看,当然是循环好,因为对象都在内存中,速度比查库要快很多;而且减少一次查询也就是减少了数据库的压力。
kobe_byrant 2015-04-29
  • 打赏
  • 举报
回复
引用 3 楼 shouhuhuise 的回复:
考虑下用缓存。不用每次都要查询
有缓存的,memcached缓存,但缓存时间才30分钟,过了缓存失效时间还是要查数据库的。
咖啡加蛋 2015-04-29
  • 打赏
  • 举报
回复
个人感觉还是2中3都实现,然后模拟实际的极限情况,测试下执行时间看哪个更好!这种要看具体代码,这么说很难比较
  • 打赏
  • 举报
回复
考虑下用缓存。不用每次都要查询
Defonds 2015-04-29
  • 打赏
  • 举报
回复
压上去,用数据说明问题
l107868382 2015-04-29
  • 打赏
  • 举报
回复
建议是一次性查询完。 一般情况下与数据库交互花费的时间比遍历100次的时间要长。 当时你只是分两次查询,那可以对比下效率,看看那个快。

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧