一、场景 在开发excel处理数据时,因为数据库的卡顿,一次插入2000条数据速度可能需要1min左右,所以考虑使用线程池;每200个分组,有n组,就开(n+1)个线程去分批同时处理这些数据。 二、依赖 1. pom.xml 2. excel的表格只有一个字 ...
需求:在开发业务报表时,需要从MySQL数据库读取数据后进行操作,然后写入数据库,使用定时任务跑批。 分析: 兼顾性能, MySQL没有Oracle那么方便 强大的存储过程。综上所述,使用线程池以分批提交的方案来插入MySQL数据库,对于更新操作 在Java端进行分页等的操作,本方案也支持。代码如下: 在第 行中,List data表示传入的数据,batchNum表示每一次处理的数量,例如 条等 ...
2019-05-31 07:05 0 3998 推荐指数:
一、场景 在开发excel处理数据时,因为数据库的卡顿,一次插入2000条数据速度可能需要1min左右,所以考虑使用线程池;每200个分组,有n组,就开(n+1)个线程去分批同时处理这些数据。 二、依赖 1. pom.xml 2. excel的表格只有一个字 ...
DB框架:Mybatis。DataBase:Oracle。 ---------------------------------------------------------------------------- 批量插入数据方式: 一、Mybatis 全局设置批处理; 二、Mybatis ...
最近由于业务需要,数据量比较大,需要使用多线程来分批处理,提高处理效率和能力,于是就写了一个通用的多线程处理工具,只需要实现自己的业务逻辑就可以正常使用,现在记录一下 主要是针对大数据量list,将list划分多个线程处理 ResultBean类: 返回结果统一bean ...
一、线程池配置 applications.properties中配置@Value("${}")的值 二、编写测试类 三、service层 四、执行时间 下表为不同线程数完成插入10万条数据所用时间,本机cup ...
线程池的优点 当我们需要一个新的线程执行任务时,可能会直接创建一个 在业务量较少的情况,这样也没什么太大问题。 但是如果任务频繁的话 频繁的创建和销毁线程是十分消耗性能的,甚至可能创建和销毁线程所用时间大于任务本身执行所用时间 如果业务量非常大,可能会占用过多的资源,导致整个 ...
Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。在开发过程中,合理地使用线程池能够带来3个好处。 降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行 ...
常见的四种线程池 newFixedThreadPool 固定大小的线程池,可以指定线程池的大小,该线程池corePoolSize和maximumPoolSize相等,阻塞队列使用的是LinkedBlockingQueue,大小为整数最大值。 该线程池中的线程数量始终不变,当有新任务提交时 ...
上周需要将云端的数据有条件的录入到mysql中,最开始是使用遍历数据然后一条条的插入的笨方法,结果速度慢的要死,所以又随便写了个笨方法2.0,记录一下自己菜鸟的成长历程。同时这也是在博客园的第一篇文章,目的仅仅是单纯的记录一下自己的狗屎代码,因为我是菜鸟,哈哈。。。 比如说有10001条数据 ...