我热衷于深入了解 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/