业务需求需要先进行远程请求数据——> 数据筛选清洗组装-> 同库不同表间删除、更新->插入数据,如出现异常则进行回滚,现在对于数据筛选清洗组装采用多线程操作,后面的对数据的操作采用同步方式,虽然可以保持事务,但是感觉入库有点慢了,测试数据3w条,表结构还好不是太复杂,大概6mb多的sql语句,入库需要4s,感觉有点慢了,能不能使用多线程事务进行优化?这个3w只是往一张表中插,后面还有比这个数据量更大的往其他表插,就现在的性能来说感觉不太够啊。
多线程数据库事务操作,最重要的是事务一致,所以如何在保证事务的情况下能够提高效率,有没有示例demo推荐的?或者有更好的方案?
有两种方式,你可以做个参考。
在尝试上面的方式之前,应该要确认一下是否使用了批量插入、分批提交等优化方式。