关于mysql:Mybatis-批量操作-引发上限问题

39次阅读

共计 370 个字符,预计需要花费 1 分钟才能阅读完成。

场景形容

我的项目中需要对数据进行迁徙,数据之间存在外键关联关系,外键关系存在一对多;因而在数据迁徙之后,须要将对应的外键更新;则迁徙须要一次性实现,否则须要额定的工作量来修复外键关系(次要操作为 BatchInsert、BatchUpdate)

问题裸露

该需要迁徙数据量为亿级,运行一段时间后,发现有 3 组数据迁徙不胜利,通过日志排查,发现 Mybatis 报错,超过程序能解决的最大量,通过查问,发现最多一组数据量有 12w

问题起因

Mysql 对语句的长度有限度,默认是 4M(select @@max_allowed_packet)
经查阅我的项目数据库配置的最大包为 16M,并不足以反对 10w 级数据量的解决,故报错

后续跟进

因为我的项目业务起因,已通过其余伎俩解决此问题,在当前的工作中,遇到批量解决数据的操作,还须要全面评估以躲避数据量带来的数据传输问题

正文完
 0