JDBC查询数据库支持异步返回结果集吗??

山哥 发布于 2010/10/25 15:51
阅读 2K+
收藏 1

我现在有这样的一个需求:

表A有几十万条数据(可以是几百万、几千万等),现在要查询这张表的数据并返回,如果一次性全部查出后返回,这样会造成:

a. 查询等待的时间很长

b. 可能程序就崩溃了

现在想这样做:每查询到100(这个数值可以随意设置)条就返回,然后接着查询后面的100条,再返回;如此往下,直到数据全部查询完毕;

请问, JDBC支持这样的异步返回数据功能吗??

加载中
0
不流泪的机场
不流泪的机场

你可以用多线程处理,例如A线程跑业务逻辑,B线程跑数据读写,B线程读到缓存中后,通知A线程处理,但编码会比较复杂一些

0
王政财
王政财

如果是要在jsp页面显示返回值的话,建议你分页处理,假设一页100条记录,那么第二页就查100-200的,以此类推。

JDBC貌似不能满足楼主的需求,待高人详述!

0
山哥
山哥

我也觉得 JDBC 好像没有异步返回的功能,所以在此请教大家,是不是JDBC支持,但是我们没有深入用到,等待JDBC强人解答

0
Aladin
Aladin

用数据库的分页功能实现吧,jdbc没有这种功能。

0
天涯食府
天涯食府

弄一个游标?

0
郑雨涵
郑雨涵

你这个怎么能叫异步返回,先搞清楚异步的含义

0
杨森
杨森

感觉没意义。

0
D
DarkerLee

我记得JDBC一般情况下本来就不是一次性将所有数据全部返回的,JDBC会有一个Buffer,当数据量很大的情况下使用ResultSet的next时,JDBC就会加载一部分而不是全部结果集,当然这个和JDBC的驱动实现相关。一般来说,按楼主的要求,应该只需要不等到把整个ResultSet读完再显示结果就可以满足要求了。

0
小杨阿哥哥
小杨阿哥哥

分页即可,显示不一样罢了~

0
小天
小天

你直接循环每次取100条?

返回顶部
顶部