锁定老帖子 主题: 关于jdbc的一种功能的实现
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-03-01
游标。先得到ResultSet,然后循环一条一条取记录。
|
|
返回顶楼 | |
发表时间:2012-03-01
最后修改:2012-03-01
按照楼主大概的意思,需要取出的数据量很大,用一个sql 全部取出来,内存很有可能会挂掉。需要用分页的方式。
如果说按照分页的方式, 也就是说如果有1OW 条记录,每次抓取取1W 来用,用完后再取下一个1W 条。直到用完为止。 按照这样一个思路,可以用 迭代器模式来设计,Iterator it = list.iterator(); 如果定义抓取的跨度是1W条,应该会迭代10次,当第一次使用it.next()的时候就调用sql 去取 1 to 1W 之间的数据, 用完后再取下一个 next (10001 to 20000 的记录)。当迭代到11次的时候,你调用select * from xxx limit 100001, 110000. it.next()应该返回的是空,也就是说是迭代结束的标记 大概就这么个思路,希望对你有帮助。。 |
|
返回顶楼 | |
发表时间:2012-03-02
只能是分页。rs 亦或是 list 都在内存里,你伤不起
|
|
返回顶楼 | |