前言
在一個業務中,需要将資料庫的一張日志表導出到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