Mybatis批量插入数据,三万条数据左右卡死,求教

qq_21132973 2017-10-30 03:33:17
用的是sqlSessionFactory.openSession(ExecutorType.Batch,false)获得session,每1000条数据手动提交一次。
...全文
1774 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
能先森 2020-01-13
  • 打赏
  • 举报
回复
如果是mysql数据库,一般是mysql的max_allowed_packet传送数据包的大小限定了,你传过去的3万条数据,已经超出上限 show variables like '%max_allowed_packet%' 查看你数据库的参数大小 ,默认是1MB,你可以重新设定,mysql8以后最大支持1024MB
Enchanter, 2017-10-31
  • 打赏
  • 举报
回复
批量提交的时候,需要手动去清除数据缓存,不然数据缓存会堆积,估计你的数据内容的量应该不小,又没有去清除数据缓存,所以才导致了这样的问题
  • 打赏
  • 举报
回复
还有就是 数据库端 会有一些 缓存的参数设置,加大参数,总之这个需要你们 DBA 协助一下。
  • 打赏
  • 举报
回复
用的什么数据库? 表结构是什么样的? 有没有索引,有没有外键? 数据库端查一下是否有死锁? 把外键去掉,减少锁等待。。。
tianfang 2017-10-30
  • 打赏
  • 举报
回复
查查数据库性能

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧