数据按条数分批后批量插入

大量数据按条数分批,然后批量插入

  • 优化了下批量数据插入,之前是for循环一条条的进行insert插入,速度慢,消耗大
    • 现在修改了一下修改成每满足固定条数之后进行批量插入
  • 不合适的地方请留言批评指正。

优化了下批量数据插入,之前是for循环一条条的进行insert插入,速度慢,消耗大

现在修改了一下修改成每满足固定条数之后进行批量插入

public class Test {

    public static void main(String[] args) {
        // 模拟的数据总集合
        List<String> list= new ArrayList<>();
        // 模拟数据集,往集合里面塞数据
        for (int i = 0; i <= 2690; i++) {// 条数 需要修改测试多种情况
            list.add("a"+i);
        }
        System.out.println("list数据生成完毕:"+list.size());
        // 计数,数据的条数
        int count = 0;
        // 创建一个集合来接收 每批次插入的数据集
        List<String> littleList = new ArrayList<>();
        // 开始循环处理数据
        for (int i = 0; i < list.size(); i++) {
             count++;// 计算条数
             littleList.add(list.get(i));// 将大集合数据,添加到分批集合里面
             if (count % 500 == 0) {// 这个条数可以根据数据库的性能情况进行修改的
                 // 满 500 处理一次  此处打印代替了数据库操作
                 System.out.println("此次满500 处理了 :" + littleList.toString());
                 littleList.clear();//处理完毕后,清空集合,接收下次批量数据
             }
        }
        // 小于 500不会被执行 最后%500 !=0的部分数据 不被执行  所以此处执行以下
        if ((count < 500 && count > 0) || count % 500 != 0) {
            // 满 500 处理一次
            System.out.println("最后不满500:处理了" + littleList.toString());
            littleList.clear();//最后一次,不清空也可以
        }
    }
}

不合适的地方请留言批评指正。

你可能感兴趣的:(java,开发语言)