在Java中获得RestultSet
大小的最佳方法(速度)是什么,因此我可以将它们存储在Array
中,我需要在创建之前指定它的大小,我发现了以下内容:
ResultSet.last()
,然后致电ResultSet.getRow()
。ResultSet
时使用next()
进行迭代。SELECT COUNT
查询。FOUND_ROWS()
。ArrayList
,然后将其转换为数组。答案 0 :(得分:2)
唯一的选择是#5:将数据放入ArrayList
并使用toArray
提取数组。
选项#3和#4(额外查询)在速度方面是个坏主意,因为数据库查询具有固有的延迟,无论数据库有多快。
选项#1和#2只是一个坏主意; ResultSet
意味着在一个方向上迭代。当可以将光标移动到其他方向时,大多数JDBC驱动程序执行此操作时执行效果不佳。
最后,你应该真的重新考虑返回一个数组。 Java数组非常适合创建新的集合数据类型和高性能库,但是对于大多数业务目的,它们不如标准的Collections API。