java使用多线程查询大批量数据
生活随笔
收集整理的這篇文章主要介紹了
java使用多线程查询大批量数据
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
在某些時候,一旦單表數據量過大,查詢數據的時候就會變得異常卡頓,雖然在大多數情況下并不需要查詢所有的數據,而是通過分頁或緩存的形式去減少或者避免這個問題,但是仍然存在需要這樣的場景,比如需要導出一大批數據到excel中,導出數據之前,首先得把數據查詢出來吧?這個查詢的過程,數據量一旦過大,單線程查詢數據將會成為瓶頸,下面嘗試使用多線程來嘗試查詢一張數據量較大的表
由于代碼邏輯不是很難,直接上代碼,關鍵的地方會有代碼注釋和說明,總體實現思路:
- 查詢表的數據總量
- 線程切分,根據本機CPU的核數配置合適數量的線程處理數,根據數據總量為不同的線程分配不同的查詢數據量分段,即不同的線程查詢不同分段的數據
- 將各個查詢數據的線程提交至線程池,這里使用的線程是帶有返回結果的異步線程
1、測試控制器
@GetMapping("/getSysLogMulti")@ApiOperation(value = "多線程獲取日志數據", notes = "多線程獲取日志數據", produces = "application/json")public List getSysLogMulti() {return operLogService.getSysLogMulti();}2、業務實現類
@Autowiredprivate MultiThreadQueryUtil multiThr總結
以上是生活随笔為你收集整理的java使用多线程查询大批量数据的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【开关电源六】buck电路的输出纹波定量
- 下一篇: 接口自动化框架之python pytes