<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      SpringBoot模擬插入1000000萬條數據

      一、數據庫表準備

      CREATE TABLE `student` (
        `id` bigint NOT NULL COMMENT '用戶id',
        `name` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '姓名',
        `address` varchar(250) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '地址',
        PRIMARY KEY (`id`)
      ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

      二、持久層代碼實現

      ###Mapper方法
      /**
       * @Project
       * @Description
       * @Author songwp
       * @Date 2023/9/8 9:29
       **/
      @Mapper
      public interface StudentMapper extends BaseMapper<Student> {
      
         int insertSplice(List<Student> students);
      }
      
      ###Mapper.xml
      <?xml version="1.0" encoding="UTF-8"?>
              <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
      <mapper namespace="com.songwp.mapper.StudentMapper">
      
          <insert id="insertSplice">
              insert into student
              (id,name,address) values
              <foreach collection="students" item="entity" separator=",">
                  (#{entity.id},
                  #{entity.name},
                  #{entity.address})
              </foreach>
          </insert>
      </mapper>

      三、業務層代碼實現

      ###批量插入的具體方法
       /**
           *  批量插入方法
           * @param list 需要處理的數據
           */
          public void batchData(List<Student> list) {
              int count = list.size() - 1;
              int pageSize = 1000; // 每批次插入的數據量
              int threadNum = count / pageSize + 1; // 線程數
              CountDownLatch countDownLatch = new CountDownLatch(threadNum);
              for (int i = 0; i < threadNum; i++) {
                  int startIndex = i * pageSize;
                  int endIndex = Math.min(count, (i + 1) * pageSize);
                  List<Student> subList = list.subList(startIndex, endIndex);
                  threadPoolTaskExecutor.execute(() -> {
                      DefaultTransactionDefinition transactionDefinition = new DefaultTransactionDefinition();
                      TransactionStatus status = transactionManager.getTransaction(transactionDefinition);
                      try {
                          studentMapper.insertSplice(subList);
                          transactionManager.commit(status);
                      } catch (Exception e) {
                          transactionManager.rollback(status);
                          throw e;
                      } finally {
                          countDownLatch.countDown();
                      }
                  });
              }
              try {
                  countDownLatch.await();
              } catch (InterruptedException e) {
                  e.printStackTrace();
              }
          }
      
      ###控制層業務方法
      @GetMapping("/batchInsert")
          @ApiOperation("批量插入大數據量的方法驗證")
          public void batchInsert2() {
              List<Student> arrayList = new ArrayList<>();
              // 模擬數據
              for (int i = 0; i < 1000000; i++){
                  Student student = new Student(i+1,"張三"+i,"陜西西安"+i);
                  arrayList.add(student);
              }
              long startTime = System.currentTimeMillis();
              batchData(arrayList);
              long endTime = System.currentTimeMillis();
              System.out.println("模擬插入: "+arrayList.size()+" 條學生數據,總共耗時:" + (endTime - startTime)+"毫秒");
          }

      四、插入的結果耗時

       該測試項目已集成Swagger,通過Swagger調用該方法結果如下:

      posted @ 2023-11-15 16:16  [奮斗]  閱讀(192)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 中文字幕人妻日韩精品| 四虎永久在线精品免费播放| 色欲狠狠躁天天躁无码中文字幕 | 亚洲第四色在线中文字幕| 精品国产一区二区三区大| 无码日韩做暖暖大全免费不卡| 国产亚洲精品久久久久久久软件 | 亚洲日韩一区二区| 亚洲欧美综合精品成人网站| 高清国产亚洲精品自在久久| 日韩有码中文字幕国产| 欧洲无码一区二区三区在线观看| 九九热在线免费视频播放| 免费看国产精品3a黄的视频| 中文字幕一区二区三区精华液| 久久天天躁夜夜躁狠狠85| 国产日女人视频在线观看| 色伦专区97中文字幕| 久章草这里只有精品| 久久精品无码专区免费东京热 | 4hu亚洲人成人无码网www电影首页| 国产99精品成人午夜在线| 国产精品午夜av福利| 国产在线亚州精品内射| 国产av日韩精品一区二区| 欧产日产国产精品精品| 亚洲精品成人无限看| 苍溪县| 人妻精品中文字幕av| 精品一区二区三区在线观看l| 国产成人乱色伦区| 中文字幕av日韩有码| 亚洲欧美综合精品成| 少妇人妻真实偷人精品| 玩弄丰满少妇人妻视频| 国产乱子伦精品免费女| 成人无码午夜在线观看| 免费区欧美一级猛片| 90后极品粉嫩小泬20p| 色婷婷av久久久久久久| 色爱综合另类图片av|