900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > java使用多线程查询大批量数据

java使用多线程查询大批量数据

时间:2023-05-11 18:59:56

相关推荐

java使用多线程查询大批量数据

前言

在某些时候,一旦单表数据量过大,查询数据的时候就会变得异常卡顿,虽然在大多数情况下并不需要查询所有的数据,而是通过分页或缓存的形式去减少或者避免这个问题,但是仍然存在需要这样的场景,比如需要导出一大批数据到excel中,导出数据之前,首先得把数据查询出来吧?这个查询的过程,数据量一旦过大,单线程查询数据将会成为瓶颈,下面尝试使用多线程来尝试查询一张数据量较大的表

由于代码逻辑不是很难,直接上代码,关键的地方会有代码注释和说明,总体实现思路:

查询表的数据总量线程切分,根据本机CPU的核数配置合适数量的线程处理数,根据数据总量为不同的线程分配不同的查询数据量分段,即不同的线程查询不同分段的数据将各个查询数据的线程提交至线程池,这里使用的线程是带有返回结果的异步线程

1、测试控制器

@GetMapping("/getSysLogMulti")@ApiOperation(value = "多线程获取日志数据", notes = "多线程获取日志数据", produces = "application/json")public List getSysLogMulti() {return operLogService.getSysLogMulti();}

2、业务实现类

@Autowiredprivate MultiThreadQueryUtil multiThr

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。