如何有效处理spring boot + mybatis + mysql批量新增数据时的数据量问题
在处理批量插入大量数据的场景中,避免出现oom(内存溢出)至关重要。下面介绍一种可行的方法:
public void insert(List<User> list) { int count = 10000; // 可根据实际情况调整 int max = list.size(); int temp = count; for(int i=0; i<max; i+=count){ if(max - i < count){ temp = max - i; // 数据量不足count时,避免越界错误 } List<User> list1 = list.subList(i, i+temp); userMapper.insertBatch(list1); // 使用Mybatis提供的insertBatch方法批量插入 } }
该代码优化了原始方案,采用了 mybatis 的 insertbatch 方法,该方法内部封装了批量插入的逻辑,避免了逐条插入带来的效率低下。
此外,为了进一步优化,还可以考虑以下改进:
以上就是Spring Boot + Mybatis + MySQL 批量新增数据如何避免内存溢出?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号