我热衷于深入了解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.
因为该表是由许多其他并发程序访问的。
答案 0 :(得分:1)
它将取决于很多因素。
查看免费VisualVM中的CPU和内存分析,或者使用一些基本时序来了解正在发生的事情。
答案 1 :(得分:1)
最好的办法是,通常遵循的标准是将所有值存储到对象中,然后返回该对象。这只不过是数据传输对象(DTO设计模式)。
在第一种情况下,你就是这样做
迭代ResultSet, 在此步骤中:您将调用其他一些功能,我们不知道完成所需的时间。
主要缺点是长时间按住连接对象并不好,因为某些其他用户可能需要它,当然这是一个最昂贵的用户。