
用户点击导出,检查他的数据规模,超过50W的,提示其数据规模过大,可能需要 N 小时完成,请稍候再来查询和下载导出结果。如果用户点击确定,你就提示:“任务已进入队列,点击此连接查询导出进度。”
然后你要做两件事情:
1、给这个用户记录个标识,就是他已经启动某导出任务,不能再启动新的了(或者限制一个人最多同时启动几个导出任务);
2、后台有个调度程序,开始执行导出工作,并将生成的Excel放在某磁盘目录或存在数据库中;这个调度任务可以控制下最大同时并发的导出任务数,以避免任务太多拖垮系统。
另外需要开发界面查询导出进度以及下载导出结果。导出结果可以考虑一个最大保存周期,比如7天。
你可以先取出部分数据,处理完了保存,然后再取一部分,这不是提高计算速度,而是提高数据库读取效率,因为你每次从数据库读一条数据会很浪费时间。
不过你只有1000条数据不算太多的,而且你又不做排序,效率上不会差太多。
剩下的效率瓶颈就在你的公式或者方法里了。
以上就是关于Java 大数据量导出,该怎么解决全部的内容,包括:Java 大数据量导出,该怎么解决、如何设计java程序能提高大数据量的计算速度、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)