首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ResultSet工作

ResultSet工作
EN

Stack Overflow用户
提问于 2012-07-20 21:33:42
回答 2查看 321关注 0票数 1

我热衷于深入了解ResultSet的工作原理。我对ResultSet有很多疑问。例如性能方面,哪一个更好。

代码语言:javascript
复制
 while(rs.next())
{
  //  iterate as well as do call some other functions.
}
  or 
while(rs.next())
{
 // iterate and store the column values in a map
}
// do functions using the map.

因为该表被许多其他并发程序访问。

EN

回答 2

Stack Overflow用户

发布于 2012-07-20 21:42:44

这将取决于很多因素。

  • 你的“其他函数”的处理强度有多大。如果处理是最小的,那么它实际上并不重要,但是它涉及到大量的CPU使用,那么将处理延迟到结果集关闭时,应该提高事务性performance.
  • How,结果集是大的吗?如果它相当小,那么将其读取到地图中是可以的,但如果它很大,并且您的处理要将其处理成一些较小的形式,那么在循环中进行处理可能会更好。

在免费的VisualVM中查看一下CPU和内存配置文件,或者使用一些基本的计时来了解正在发生的事情。

票数 1
EN

Stack Overflow用户

发布于 2012-09-24 14:08:38

最好的做法是,通常遵循的标准是将所有值存储到一个对象中,然后返回该对象。这只是一个数据传输对象(DTO设计模式)。

在第一种情况下,您将执行如下操作

建立到database.

  • Executing
  1. 语句的连接,然后通过获取结果集。
  2. 和迭代ResultSet,在此步骤中:您将调用一些其他函数,我们不知道它将花费多长时间才能完成。

主要缺点是长时间按住connection对象并不好,因为它可能会被其他用户需要,当然这是最昂贵的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11580446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档