社区
Web 开发
帖子详情
Java程序,多一次数据库查询,与循环相比,哪个性能更差?
kobe_byrant
2015-04-29 12:28:46
首先web程序,每天访问量巨大!
页面本身已经有一个数据库查询,我打算在此次数据库查询里把我需要的另一种信息查出来,而不是多一次数据库查询,这样的代价就是循环遍历结果集的时候,循环次数多了(预计最多多了100以内)。
想问下,两种方案哪个从性能方面来说更操蛋?
1,一次数据库查询查出所有,代价是多了几次循环。
2,分开两次数据库查询。
谢谢
...全文
11852
16
打赏
收藏
Java程序,多一次数据库查询,与循环相比,哪个性能更差?
首先web程序,每天访问量巨大! 页面本身已经有一个数据库查询,我打算在此次数据库查询里把我需要的另一种信息查出来,而不是多一次数据库查询,这样的代价就是循环遍历结果集的时候,循环次数多了(预计最多多了100以内)。 想问下,两种方案哪个从性能方面来说更操蛋? 1,一次数据库查询查出所有,代价是多了几次循环。 2,分开两次数据库查询。 谢谢
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用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都实现,然后模拟实际的极限情况,测试下执行时间看哪个更好!这种要看具体代码,这么说很难比较
我想再坚持一下
2015-04-29
打赏
举报
回复
考虑下用缓存。不用每次都要查询
Defonds
2015-04-29
打赏
举报
回复
压上去,用数据说明问题
l107868382
2015-04-29
打赏
举报
回复
建议是一次性查询完。 一般情况下与数据库交互花费的时间比遍历100次的时间要长。 当时你只是分两次查询,那可以对比下效率,看看那个快。
Oracle数据库核心架构、
性能
优化与高可用实战指南
数据库作为现代信息系统的核心,其架构设计与
性能
优化是保障业务连续性和数据一致性的基石。理解数据库的体系结构,包括内存管理、进程协作和存储机制,是进行高效运维和深度调优的前提。在众多企业级应用中,Oracle数据库凭借其成熟稳定的架构和丰富的功能集,尤其在处理高并发事务和海量数据分析方面展现出独特的技术价值。对于金融、电信等关键领域的核心系统,掌握Oracle的核心原理与实战技巧,能够有效提升系统稳定性与处理
性能
。本文聚焦于Oracle数据库的实战应用,深入解析其内存结构中的SGA与PGA、进程结构中的LGW
Java
8中用法优雅的Stream,
性能
也"优雅"吗?
之前的文章中我们介绍了
Java
8中Stream相关的API,我们提到Stream API可以极大提高
Java
程序
员的生产力,让
程序
员写出高效率、干净、简洁的代码。那么,Stream API的
性能
到底如何呢,代码整洁的背后是否意味着
性能
的损耗呢?本文我们对Stream API的
性能
一探究竟。为保证测试结果真实可信,我们将JVM运行在-server模式下,测试数据在GB量级,测...
SQL Server查询计划解读:从执行原理到
性能
优化实战
SQL Server查询计划是数据库优化的核心依据,本质是查询优化器基于成本模型(I/O、CPU、内存)计算出的最优执行路径快照。理解其生成机制需掌握统计信息、参数嗅探与计划缓存等底层原理;技术价值在于将模糊的‘慢SQL’问题转化为可量化、可验证的图形化诊断过程——通过运算符形状识别物理操作类型(如索引查找vs扫描),借助颜色区分资源瓶颈(绿色主I/O、黄色主CPU),结合实际行数与估计行数偏差定位统计失真。典型应用场景涵盖OLTP高并发调优、BI报表加速及遗留系统
性能
治理。本文聚焦实际执行计划分析,深入拆
从算法幻想到工程实践:技术优化的四步
循环
与压缩之道
在软件工程与算法开发中,优化是一个核心概念,它涉及在资源约束下提升系统效率与
性能
。其基本原理是在时间、空间、复杂度等多维度间进行权衡,旨在用更少的计算、内存或存储资源达成既定目标,或提升处理速度与吞吐量。这一过程的技术价值在于,它能直接降低运营成本、改善用户体验,并支撑系统在规模上的可扩展性。典型的应用场景包括降低AI模型推理延迟、优化
数据库查询
性能
、减少微服务资源占用等。实践中,高效的优化往往遵循从宏观架构到微观代码的路径,并高度依赖
性能
剖析(Profiling)工具来定位真实瓶颈,而非依赖猜测。本文以模
从
Java
的StreamAPI看函数式编程在现代企业开发中的实践与挑战
此外,Stream的惰性求值特性避免了不必要的计算,只有在终止操作被调用时才会执行整个流水线,这优化了
程序
性能
。展望未来,随着
Java
版本的持续更新,Stream API仍在不断进化,例如新增的`takeWhile`/`dropWhile`等方法增强了流的控制能力。在现代微服务和反应式编程兴起的背景下,Stream所代表的流式处理思想与Reactive Streams等技术理念一脉相承,掌握好Stream API将为开发者理解和应用更先进的响应式框架(如Project Reactor)奠定坚实的基础。
Web 开发
81,108
社区成员
341,721
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章