【问题标题】:Alternative to next method in JDBC Resultset替代 JDBC 结果集中的下一个方法
【发布时间】:2012-11-28 17:35:09
【问题描述】:

在 JDBC 中是否有一种方法可以一次提取多行?下一个方法(ResultSet 类)允许一次处理一行。

我的查询返回数千行(每行只有一列)。这些行非常精简,我几乎只想提取列值。循环下一个,一次一行对于这个用例来说非常慢。

【问题讨论】:

  • 从开发人员生产力的角度来看很慢,还是在运行时只是 slow?另外,也许您可​​以在数据库中以某种方式汇总这些数字(SUM、AVG...)。
  • 运行时慢。我需要运行的不是聚合函数。想想类似(从 col1=val1 的表中选择键。)预期结果是 100,000 个键。

标签: jdbc resultset next


【解决方案1】:

虽然 ResultSet 一次只返回一行,但 jdbc 驱动程序应该获取您使用 Statement.setFetchSize() 指定的行数

void setFetchSize(int rows)

当此语句生成的 ResultSet 对象需要更多行时,向 JDBC 驱动程序提示应从数据库中获取的行数。

我还建议在创建 Statement/PreparedStatement 时正确设置获取方向。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-28
    相关资源
    最近更新 更多