在MySQL中使用的是批量插入是通过拼接下面的语句INSERT INTO table(field,field...) VALUES (val,val,...) (val,val,...) (val,val,...)...
在这个过程中虽然批处理操作的可以把插入的数据在一次网络传输就可以把数据传送过去不必每次循环进行插入。
问题:在一次拼接的SQL字符串过大会导致OOM问题。
原因:在线上有可能出现数据量太大,导致一次MyBatis拼接SQL太长。
解决分析:既要使用到批处理语句又要防止因为数据量过大。
解决方案:把数据进行切分,适量小段进行批处理插入