java - 结果集工作

标签 java jdbc resultset

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

 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.

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

最佳答案

这取决于很多因素。

  • 您的“其他功能”的处理强度如何。如果处理量很小,那么这并不重要,但如果涉及大量 CPU 使用,那么延迟处理直到结果集关闭应该可以提高事务性能。
  • 结果集有多大?如果它相当小,那么将其读入 Map 就可以了,但如果它很大并且您的处理要将其处理成某种较小的形式,那么您最好在循环内进行处理。

查看免费 VisualVM 中的 CPU 和内存分析,或使用一些基本计时来了解正在发生的情况。

关于java - 结果集工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11580446/

相关文章:

java - 如何将 ResultSet 转换成有用的整数?

java - 时间轴栏的布局管理器

java - Eclipse 默认自定义格式化程序

java - JDBC/Postgres如何将无时区的java.util.Date与时间戳进行比较?

java - 将 ResultSet 存储到数组中并在 JComboBox 中列出它们

java相当于php的hmac-SHA1

java - log4jdbc PreparedStatement.toString()

java - 用于从文件中批量插入项目的 Spring jdbc 编程事务

存储过程中的 MySQL select 语句返回的结果与过程外部不同

mysql - 扫描一个mysql表,为什么逐行获取结果集比完全在内存中检索要快得多?