jfinal如何支持大数据量的查询?或都说有没方法支持jdbc fetch?

灵溪小鱼 发布于 2015/11/05 14:15
阅读 1K+
收藏 0

jfinal如何支持大数据量的查询?或都说有没方法支持jdbc fetch?

半新手,今天写了个跑批的,需要从一个数据库中查询出大量的数据(约60W),Db.find是一口气查询到客户端机器的内存中,导致OutOfMemery,请教jfinal ActiveRecord有什么解决办法吗?貌似jdbc可以通过prepareStatement的setFetch来游标式的一次一次读取,jfinal有fetch式的方法吗?

@Jfinal

加载中
0
糊搞
用Pagenate分页查询呀,DB和Model中有相应的接口。。。
0
灵溪小鱼
灵溪小鱼

引用来自“糊搞”的评论

用Pagenate分页查询呀,DB和Model中有相应的接口。。。
分页不满足我的需求。。我这跑数据相当于转移大批数据,我还要分页一下,多麻烦,直接jdbc的话我可以setFetchSize我可以直接调ResultSet,多方便
0
mi-la-king
mi-la-king

那你直接jdbc 操作了

0
灵溪小鱼
灵溪小鱼

引用来自“mi-la-king”的评论

那你直接jdbc 操作了

没办法的就直接jdbc操作了,不过如果jfinal没有的话,很建议波总在Db操作中多这么个设置setFetchSize()方法,将jdbc PreparedStatement的setFetchSize()封装一下
0
铂金蛋蛋
铂金蛋蛋
60W的数据一次性抓到内存里,我觉得变变思路比较好,多几个线程,分批来做
0
k
kakaximu
一次解决不了,就多次吧。
0
JFinal
JFinal

    直接Db.update 搞定:

     Db.update("insert into tableA(c1, c2, ...)  select c1,c2, ... from tableB"),可以挑选要插件的列。

0
灵溪小鱼
灵溪小鱼

引用来自“JFinal”的评论

    直接Db.update 搞定:

     Db.update("insert into tableA(c1, c2, ...)  select c1,c2, ... from tableB"),可以挑选要插件的列。

波总,我是需要从一个数据库,转到另个数据库。。。
返回顶部
顶部