我正在使用JDBC并在DB2中有一个存储过程,它返回大量数据 - 大约6000行。由于这个庞大的数量,网络传输(从数据库服务器到应用服务器)需要时间。
我在想的是使用多个java线程来调用存储过程,每个线程返回不同的数据块。 Thread1 - 第1行 - 第1000行; Thread2 - 第1001行 - 第2000行; Thread3 - 第2001行 - 第3000行等等
所有这些线程都可以并行运行,我可以聚合每个线程的结果。
有没有更好的方法来使用JDBC或任何其他方法处理此问题?
答案 0 :(得分:0)
根据您的JDBC驱动程序,setting the fetch size可能有所帮助。如果默认提取大小为0,则驱动程序可能会立即将所有行读入内存,这可能是导致速度缓慢的原因。