【问题标题】:Reading large result sets in jdbc在 jdbc 中读取大型结果集
【发布时间】:2016-11-09 22:58:59
【问题描述】:

我正在使用 JDBC,并且在 DB2 中有一个存储过程,它返回大量数据 - 大约 6000 行。由于数据量巨大,网络传输(从数据库服务器到应用程序服务器)需要时间。

我在想的是使用多个 java 线程来调用存储过程,每个线程返回不同的数据块。 Thread1 - 第 1 行 - 第 1000 行; Thread2 - 第 1001 行 - 第 2000 行; Thread3 - 第 2001 行 - 第 3000 行,依此类推

所有这些线程都可以并行运行,我可以汇总每个线程的结果。

有没有更好的方法来使用 JDBC 或任何其他方式来处理这个问题?

【问题讨论】:

  • 6000 行并不是一个庞大的数据量。多线程这不会改善任何事情。

标签: jdbc


【解决方案1】:

根据您的 JDBC 驱动程序,setting the fetch size 可能会有所帮助。默认提取大小为 0,您的驱动程序可能会一次将所有行读取到内存中,这可能是导致速度缓慢的原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-24
    • 2011-09-20
    • 2016-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-21
    相关资源
    最近更新 更多