大家好,又见面了,我是你们的朋友全栈君。
前言
在一个业务中,需要将数据库的一张日志表导出到excel中做统计分析归类,由于单表的数据量特别大,发现在最终导出excel的时候,由于数量太大,导出速度特别慢,想了一些办法,不管使用何种API,单线程始终是操作的瓶颈,因此最终考虑使用多线程进行改善
总体思路:
1、数据总量分段
2、每个线程处理不同分段的数据
3、提交线程池
下面来看具体的代码,为测试方便,这里直接使用一个测试接口进行调用,
1、控制器
/**
* 导出系统日志信息-V2测试
*
* @return
*/
@GetMapping("/log-export/v2")
@ApiOperation(value = "导出系统日志信息V2", notes = "导出系统日志信息V2", produces = "application/json")
public void exportSysLogV2(@RequestParam(name = "userName", required = false) String userName,
@RequestParam(name = "startDate", required = false) String startDate,
@RequestParam(name = "endDate", required = false) String
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/137894.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...