数据大问题

闲去野鹤 2013-10-23 12:38:38
问题:一次性从数据库查询出来的数据量太大(例如:100W条),tomcat容器就outMemery了,请教大神有什么好点子么?
...全文
296 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
ylovep 2013-10-24
  • 打赏
  • 举报
回复
楼主具体什么需求?
闲去野鹤 2013-10-24
  • 打赏
  • 举报
回复
引用 13 楼 szx_zsx 的回复:
如果做报表的话,貌似是需要一次行查询吧,我也遇到过这个问题。
怎么解决的?
mmy_yc 2013-10-24
  • 打赏
  • 举报
回复
分页查询
赏金--猎人 2013-10-24
  • 打赏
  • 举报
回复
如果做报表的话,貌似是需要一次行查询吧,我也遇到过这个问题。
别闹腰不好 2013-10-24
  • 打赏
  • 举报
回复
弄个NB服务器 ,加大tomcat内存 呵呵
wenjie4892543 2013-10-24
  • 打赏
  • 举报
回复
引用 23 楼 u010684923 的回复:
[quote=引用 20 楼 wenjie4892543 的回复:] 设置tomcat的内存 set JAVA_OPTS=-Xms128m -Xmx256m
这是治标不治本,我算是明白了, 一个容器就好比一个瓶子,他的容量是固定的, 假设这个瓶子只能装1斤水,你偏要往里装1斤半,多的就溢出了。 所以还是要控制,不让溢出:缓存+分页+查询条件(必选的)。[/quote] 你既然能够去优化,你就不需要用这个了,,我这个是真的优化不了才去更改的,,,,,
u010016988 2013-10-24
  • 打赏
  • 举报
回复
100W条数据··放到浏览器上 你们领导眼睛0.001?还是客户拿放大镜看?
闲去野鹤 2013-10-24
  • 打赏
  • 举报
回复
引用 20 楼 wenjie4892543 的回复:
设置tomcat的内存 set JAVA_OPTS=-Xms128m -Xmx256m
这是治标不治本,我算是明白了, 一个容器就好比一个瓶子,他的容量是固定的, 假设这个瓶子只能装1斤水,你偏要往里装1斤半,多的就溢出了。 所以还是要控制,不让溢出:缓存+分页+查询条件(必选的)。
赏金--猎人 2013-10-24
  • 打赏
  • 举报
回复
引用 15 楼 u010684923 的回复:
[quote=引用 13 楼 szx_zsx 的回复:] 如果做报表的话,貌似是需要一次行查询吧,我也遇到过这个问题。
怎么解决的?[/quote] 貌似没解决。
wenjie4892543 2013-10-24
  • 打赏
  • 举报
回复
D:\tomcat1\bin\catalina.bat
wenjie4892543 2013-10-24
  • 打赏
  • 举报
回复
设置tomcat的内存 set JAVA_OPTS=-Xms128m -Xmx256m
你好毒你好毒 2013-10-24
  • 打赏
  • 举报
回复
引用 18 楼 MrsFeng 的回复:
这还真是个麻烦事。只能加大jvm内存
区区100W不算什么
你好毒你好毒 2013-10-24
  • 打赏
  • 举报
回复
这还真是个麻烦事。只能加大jvm内存
闲去野鹤 2013-10-24
  • 打赏
  • 举报
回复
引用 16 楼 ylovep 的回复:
楼主具体什么需求?
很简单,就是我取数据的时候要保证不要有outMemery。
失落夏天 2013-10-23
  • 打赏
  • 举报
回复
第一,可以尝试修改tomcat所固定占用的内存,即使100W数据也看具体数据所占的大小。 第二,分次查,但是内存里面不要存那么多,该释放的释放,或者取出来的数据处理一下存储必要的数据之后就可以释放了。
teemai 2013-10-23
  • 打赏
  • 举报
回复
内存都不够了,还谈什么后面的业务处理?
teemai 2013-10-23
  • 打赏
  • 举报
回复
引用 2 楼 u010684923 的回复:
[quote=引用 1 楼 huxiweng 的回复:] 这个情况内存溢出就太正常了。。。 分页查询吧,而且你业务上哪有用到一次这么多数据? 比如第一次查100条,第二次从第101开始,
没有其他方法吗?[/quote] 你想要怎么样的效果,常规解决方案就是我上面说的,一次加载100w不要这么做!
闲去野鹤 2013-10-23
  • 打赏
  • 举报
回复
引用 1 楼 huxiweng 的回复:
这个情况内存溢出就太正常了。。。 分页查询吧,而且你业务上哪有用到一次这么多数据? 比如第一次查100条,第二次从第101开始,
没有其他方法吗?
teemai 2013-10-23
  • 打赏
  • 举报
回复
这个情况内存溢出就太正常了。。。 分页查询吧,而且你业务上哪有用到一次这么多数据? 比如第一次查100条,第二次从第101开始,
临碣 2013-10-23
  • 打赏
  • 举报
回复
磁盘有地方么? 存上在读出来好了
加载更多回复(4)

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧