老哥们,我有2000万条数据,取出来做统计。

yannsPeng 2017-09-06 03:48:04
该怎么设计才好。是一次取出来还是分次取,如果分次的话,该怎么分次取。
...全文
855 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiancool521 2017-09-07
  • 打赏
  • 举报
回复
数据量的确不多,如果可以直接查询就好,后续改动部分就是使用存储过程与定时任务来计数一段周期的汇总数据。然后查询数据少的表就可以了。如果对实时数据要求严格,建议使用大数据(太多了 你选一个适合的), 这些数据就执行查询也就毫秒搞定。
110成成 2017-09-07
  • 打赏
  • 举报
回复
建议根据关键字信息分批取,一次取这么多数据,并计算,内存不一定能扛住 至于怎么分批取,应该看你的业务,比如学生成绩,你可以按照80分到90分取 90到100层次去取数据。
小灰狼 2017-09-07
  • 打赏
  • 举报
回复
引用 7 楼 baidu_27893705 的回复:
[quote=引用 6 楼 fangyuandoit 的回复:] 看你的数据在哪里,在数据库还是文本文件。数据库可以分页形式读,文本文件可以缓冲读(不然内存爆炸)。还得看你存在那里。可以存在Elasticsearch里面
存在数据库,想把所有数据都取出来然后做统计。[/quote] 做什么样的统计? 只是取个最大值、最小值、平均值 还是算个环比、同比 还是画曲线图、饼图……
小灰狼 2017-09-07
  • 打赏
  • 举报
回复
楼主想要的统计结果是什么形式,你的数据源在哪里,是数据库还是xml还是excel还是…… 这些问题不整明白,给出的方案不一定是你想要的
qq_26549119 2017-09-06
  • 打赏
  • 举报
回复
2000W数据并不多,注意加上合理的索引,统计和筛选速度还是可以的
qq_26549119 2017-09-06
  • 打赏
  • 举报
回复
建议你用异步定时任务跑sql的方式来统计,统计好了把数据单独存在一张表,页面展示就取这个表的数据,大数据统计切记不要实时统计,隔天出数据方式较为合理
yannsPeng 2017-09-06
  • 打赏
  • 举报
回复
引用 6 楼 fangyuandoit 的回复:
看你的数据在哪里,在数据库还是文本文件。数据库可以分页形式读,文本文件可以缓冲读(不然内存爆炸)。还得看你存在那里。可以存在Elasticsearch里面
存在数据库,想把所有数据都取出来然后做统计。
方元之外 2017-09-06
  • 打赏
  • 举报
回复
看你的数据在哪里,在数据库还是文本文件。数据库可以分页形式读,文本文件可以缓冲读(不然内存爆炸)。还得看你存在那里。可以存在Elasticsearch里面
mmqw 2017-09-06
  • 打赏
  • 举报
回复
取出来存储也是个问题吧
yannsPeng 2017-09-06
  • 打赏
  • 举报
回复
引用 3 楼 shangjianli 的回复:
导出Excel吗
是取出来用于图表信息统计。
戎码一生灬 2017-09-06
  • 打赏
  • 举报
回复
导出Excel吗
xwn_2016 2017-09-06
  • 打赏
  • 举报
回复
数据太多不能实时吧
_小_小_ 2017-09-06
  • 打赏
  • 举报
回复
我感觉 应该使用中间件 来处理...没处理过不知道 应该用什么中间件.

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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