2016-07-07 76 views
1

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

我在想什么是使用多个java线程来调用存储过程,每个线程返回不同的数据块。 Thread1 - 第1行 - 第1000行; 线程2 - 行1001 - 行2000; 线程3 - 行2001 - 行3000等

所有这些线程可以并行运行,我可以聚合每个线程的结果。

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

+2

6000行不是海量数据。多线程这不会改善任何事情。 – EJP

回答

0

根据您的JDBC驱动程序,setting the fetch size可能会有所帮助。在默认读取大小为0的情况下,驱动程序可能会将所有行一次读入内存,这可能是缓慢的原因。