在java中 我select表里面的数据,select的数据量大概百万条,然后我for循环,get(i),怎么提高效率

 我来答
匿名用户
2013-01-30
展开全部
这只能在数据库上面做手脚,例如使用MySQL作为数据库,查询时,使用分页方式实现,减少单位时间的数据总量。
micro0369
2013-01-30 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:4084万
展开全部
为什么一次要处理这么大的数据量呢?

1. 如果是前台展示,可以通过分页,每次只显示20~50行数据。

2. 如果是进行数据处理,可以考虑使用后台存储过程实现。
追问
不能用存储过程,放在java实现,select   id  大批量数据,get(i)即id,放在txt文件中,txt最后的内容是 id1
id2
id3,最后要的是txt文件,这个怎么在java中去处理?
追答
这样的话,没有好办法,只能一行一行处理。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
y1152979527
2013-01-30 · 超过14用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:33.9万
展开全部
多线程,每个线程循环不同的数据。(线程不宜太多,一般不超过10条为好)
比如说用双线程去循环100万条数据,则一个线程循环前50万条,另一个循环后50万条。
追问
不能用存储过程,放在java实现,select   id  大批量数据,get(i)即id,放在txt文件中,txt最后的内容是 id1
id2
id3,最后要的是txt文件,这个怎么在java中去处理?
追答
分批次获取并写入文件,最好每次不要多于100条,因为这儿涉及了两个外部连接,一个是在数据库中取,一个是用流写入文件。这样不至于全部读入内存使内存溢出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mr_mlw
2013-01-30 · TA获得超过103个赞
知道答主
回答量:94
采纳率:0%
帮助的人:51.4万
展开全部
如果你这是实际应用的话,可以分批次查询,比如页面显示上的分页查询,每次只查询几十条。
如果单纯的解决这个问题的话,可以用数据库的存储过程,在外部使用多线程去提取。
追问
不能用存储过程,放在java实现,select   id  大批量数据,get(i)即id,放在txt文件中,txt最后的内容是 id1
id2
id3,最后要的是txt文件,这个怎么在java中去处理?
追答
如果你的数据是按顺序排列的话,可以分批次对数据进行处理,一次处理几百条
如果没有顺序的话,就多开几条线程,每个线程分别对数据进行批次处理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
安绮纭
2013-02-05 · TA获得超过438个赞
知道小有建树答主
回答量:245
采纳率:100%
帮助的人:63.6万
展开全部
给查询数据建立索引速度会非常快!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式