- 博客(2)
- 资源 (4)
- 收藏
- 关注
原创 关于使用多线程批量插入,获取异步执行结果时一直阻塞的问题记录!
主线程开启了事务并对单表进行了truncate会导致表被锁定,而子线程需要插入数据时也会尝试获取同一表的锁,由于主线程持有该表的锁并且在等待子线程执行完成时被阻塞,子线程无法获取到所需的锁从而导致死锁的发生。在主线程进行truncate操作之前设置一个保存点,然后在truncate操作之后提交事务。做个数据迁移功能,先清空表,然后批量插入,由于插入的数据量太大,同步执行太慢,虽然使用了mybatis plus 的savebatch然后也优化了些但是还有点差距,所以需要使用多线程进行批量分批插入操作!
2024-05-17 14:45:11
590
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人