电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

詳解MySQL批量入庫的幾種方式

瀏覽:301日期:2023-02-18 16:43:12
目錄
  • 1. MySQL批量入庫概述
  • 2. Hutool封裝jdbc方式
    • 測試環境準備
  • 3. Jdbc直接或批量執行方式
    • 4. MyBatis批量入庫方式
      • 5. MySQL批量入庫總結

        1. MySQL批量入庫概述

        最近壓測一款mysql持久化工具,目前市面上mysql批量入庫方式有很多,這里分別對常用的幾種方式進行壓測對比分析,比如列舉了hutool工具封裝的jdbc方式,jdbc直接執行與批量執行的方式,以及常用的mybatis方式。

        2. Hutool封裝jdbc方式

        Hutool-db是一個在JDBC基礎上封裝的數據庫操作工具類,通過包裝,使用ActiveRecord思想操作數據庫。在Hutool-db中,使用Entity(本質上是個Map)代替Bean來使數據庫操作更加靈活,同時提供Bean和Entity的轉換提供傳統ORM的兼容支持。

        數據庫(Hutool-db):https://hutool.cn/docs/#/db/%E6%A6%82%E8%BF%B0

        測試結論,hutool批量入庫,數據量:10000,耗時:7.38秒,吞吐量:1357

        測試環境準備

        1.安裝數據庫,執行初始化腳本:batch-ddl.sql

        -- ID、姓名、性別、年齡、Email、電話、住址。
        DROP TABLE IF EXISTS `user`;
        CREATE TABLE `user` (
        ? `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT "ID主鍵",
        ? `name` varchar(64) NOT NULL COMMENT "姓名",
        ? `sex` varchar(4) NOT NULL COMMENT "男,女",
        ? `age` int(3) NOT NULL COMMENT "年齡",
        ? `email` varchar(64) DEFAULT NULL COMMENT "郵箱",
        ? `phone` varchar(64) DEFAULT NULL COMMENT "電話",
        ? `address` varchar(64) DEFAULT NULL COMMENT "地址",
        
        ? `deleted` tinyint(4) NOT NULL DEFAULT "0" COMMENT "是否刪除 0 未刪除 1 刪除 默認是0",
        ? `create_id` bigint(20) NOT NULL DEFAULT "0" COMMENT "創建人賬號id",
        ? `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT "創建時間",
        ? `update_id` bigint(20) NOT NULL DEFAULT "0" COMMENT "更新人賬號id",
        ? `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT "更新時間",
        ? PRIMARY KEY (`id`) USING BTREE,
        ? KEY `idx_name_age` (`name`,`age`) USING BTREE
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT="用戶表";
        
        select * from user;
        
        select count(*) from user;

        2.創建maven項目,引入依賴:hutool-all,mysql-connector-java

        ? ? ? ? <dependency>
        ? ? ? ? ? ? <groupId>cn.hutool</groupId>
        ? ? ? ? ? ? <artifactId>hutool-all</artifactId>
        ? ? ? ? ? ? <version>5.8.10</version>
        ? ? ? ? </dependency>
        ? ? ? ? <!--mysql數據庫驅動 -->
        ? ? ? ? <dependency>
        ? ? ? ? ? ? <groupId>mysql</groupId>
        ? ? ? ? ? ? <artifactId>mysql-connector-java</artifactId>
        ? ? ? ? ? ? <version>5.1.49</version>
        ? ? ? ? </dependency>
        ? ? ? ? <!-- mybatis -->
        ? ? ? ? <dependency>
        ? ? ? ? ? ? <groupId>org.mybatis</groupId>
        ? ? ? ? ? ? <artifactId>mybatis</artifactId>
        ? ? ? ? ? ? <version>3.4.6</version>
        ? ? ? ? </dependency>

        代碼配置實現

        1.創建配置:db.setting

        ## db.setting文件
        
        url = jdbc:mysql://127.0.0.1:3306/user_db?characterEncoding=utf8
        user = root
        pass = 123456
        
        ## 可選配置
        # 是否在日志中顯示執行的SQL
        showSql = false
        # 是否格式化顯示的SQL
        formatSql = false
        # 是否顯示SQL參數
        showParams = false
        # 打印SQL的日志等級,默認debug,可以是info、warn、error
        sqlLevel = error

        2.代碼實現

        HutoolBatchSave

        package com.zrj.maven.assembly.demo.dbutils;
        
        import cn.hutool.core.util.IdUtil;
        import cn.hutool.db.Db;
        import cn.hutool.db.Entity;
        
        import java.sql.SQLException;
        
        /**
        ?* hutool批量入庫
        ?* 數據量:10000,耗時:7.38秒,吞吐量:1357
        ?*
        ?* @author zrj
        ?* @since 2022/11/25
        ?**/
        public class HutoolBatchSave {
        ? ? public static void main(String[] args) {
        ? ? ? ? hutoolBatchSave();
        ? ? }
        
        ? ? /**
        ? ? ?* hutool批量入庫
        ? ? ?* 1.安裝數據庫,執行初始化腳本:batch-ddl.sql
        ? ? ?* 2.創建maven項目,引入依賴:hutool-all,mysql-connector-java
        ? ? ?* 3.創建配置:db.setting
        ? ? ?* 4.測試驗證
        ? ? ?*/
        ? ? private static void hutoolBatchSave() {
        ? ? ? ? int count = 10000;
        ? ? ? ? Db db = Db.use();
        ? ? ? ? long start = System.currentTimeMillis();
        ? ? ? ? System.out.println("Hutool批量入庫開始:" + start);
        ? ? ? ? try {
        
        ? ? ? ? ? ? for (int i = 0; i < count; i++) {
        ? ? ? ? ? ? ? ? //生成的是不帶-的字符串,類似于:b17f24ff026d40949c85a24f4f375d42
        ? ? ? ? ? ? ? ? String simpleUUID = IdUtil.simpleUUID();
        ? ? ? ? ? ? ? ? db.insertForGeneratedKey(Entity.create("user")
        ? ? ? ? ? ? ? ? ? ? ? ? .set("name", simpleUUID)
        ? ? ? ? ? ? ? ? ? ? ? ? .set("sex", "男")
        ? ? ? ? ? ? ? ? ? ? ? ? .set("age", 18)
        ? ? ? ? ? ? ? ? ? ? ? ? .set("email", "jerry@hello.com")
        ? ? ? ? ? ? ? ? ? ? ? ? .set("phone", "123456789")
        ? ? ? ? ? ? ? ? ? ? ? ? .set("address", "北京歡迎你"));
        
        ? ? ? ? ? ? }
        ? ? ? ? } catch (SQLException e) {
        ? ? ? ? ? ? e.printStackTrace();
        ? ? ? ? }
        ? ? ? ? long end = System.currentTimeMillis();
        ? ? ? ? System.out.println("Hutool批量入庫結束:" + end);
        ? ? ? ? System.out.println("Hutool批量入庫耗時:" + (end - start));
        ? ? }
        }

        3. Jdbc直接或批量執行方式

        Jdbc提供兩種方式,一種是直接執行,另一種是批量執行(每1000筆提交一次事務)。

        Jdbc批量入庫
        采用JDBC直接處理,數據量:10000,耗時:7.38秒,吞吐量:1357
        采用JDBC批處理,數據量:10000,耗時:7.38秒,吞吐量:1357

        環境依賴參考上一策略。

        JdbcBatchSave

        package com.zrj.maven.assembly.demo.dbutils;
        
        import cn.hutool.core.util.IdUtil;
        
        import java.sql.Connection;
        import java.sql.DriverManager;
        import java.sql.PreparedStatement;
        import java.sql.SQLException;
        
        /**
        ?* Jdbc批量入庫
        ?* 采用JDBC直接處理,數據量:10000,耗時:6.689秒,吞吐量:1494.9
        ?* 采用JDBC批處理,數據量:10 0000,耗時:2.271秒,吞吐量:44,033
        ?*
        ?* @author zrj
        ?* @since 2022/11/25
        ?**/
        public class JdbcBatchSave {
        ? ? private static String url = "jdbc:mysql://localhost:3306/user_db?useServerPrepStmts=false&rewriteBatchedStatements=true&useUnicode=true&amp;characterEncoding=UTF-8";
        ? ? private static String user = "root";
        ? ? private static String password = "123456";
        ? ? private static String drive = "com.mysql.jdbc.Driver";
        
        ? ? /**
        ? ? ?* Jdbc批量入庫
        ? ? ?* 1.安裝數據庫,執行初始化腳本:batch-ddl.sql
        ? ? ?* 2.創建maven項目,引入依賴:hutool-all,mysql-connector-java
        ? ? ?* 3.創建配置:db.setting
        ? ? ?* 4.測試驗證
        ? ? ?*/
        ? ? public static void main(String[] args) {
        ? ? ? ? //jdbcBatchSaveNoExecuteBatch();
        ? ? ? ? jdbcBatchSaveExecuteBatch();
        ? ? }
        
        ? ? /**
        ? ? ?* 采用JDBC批處理(開啟事務、無事務)
        ? ? ?* 無批量提交,數據量:10 0000,耗時:2.271秒,吞吐量:44,033
        ? ? ?*/
        ? ? public static void jdbcBatchSaveExecuteBatch() {
        ? ? ? ? System.out.println("采用JDBC批處理(開啟事務、無事務)");
        ? ? ? ? //定義連接、statement對象
        ? ? ? ? Connection conn = null;
        ? ? ? ? PreparedStatement pstmt = null;
        ? ? ? ? try {
        ? ? ? ? ? ? //1. 獲取連接對象
        ? ? ? ? ? ? //加載jdbc驅動
        ? ? ? ? ? ? Class.forName(drive);
        ? ? ? ? ? ? //連接mysql
        ? ? ? ? ? ? conn = DriverManager.getConnection(url, user, password);
        ? ? ? ? ? ? //將自動提交關閉
        ? ? ? ? ? ? conn.setAutoCommit(true);
        
        ? ? ? ? ? ? //2. 定義sql語句
        ? ? ? ? ? ? //String sql = "insert into contract(`name`, `code`) values(?,?)";
        ? ? ? ? ? ? String sql = "insert into `user_db`.`user`( `name`, `sex`, `age`, `email`, `phone`, `address`, `deleted`, `create_id`, `create_time`, `update_id`, `update_time`) " +
        ? ? ? ? ? ? ? ? ? ? "VALUES (?, "boy", 18, "jerry@hello.com", "123456789", "beijing", 0, 0, "2022-11-25 11:17:12", 0, "2022-11-25 11:17:12")";
        
        ? ? ? ? ? ? //3. 為sql語句賦值
        ? ? ? ? ? ? pstmt = conn.prepareStatement(sql);
        
        ? ? ? ? ? ? long start = System.currentTimeMillis();
        ? ? ? ? ? ? System.out.println("Jdbc批量入庫開始:" + start);
        
        ? ? ? ? ? ? //每次提交1000條,循環10次
        ? ? ? ? ? ? int cycle = 10;//循環次數
        ? ? ? ? ? ? int execute = 10000;//每次提交次數
        ? ? ? ? ? ? long beginNumber = 0;//起始id
        ? ? ? ? ? ? long endNumber = beginNumber + execute;//每次循環插入的數據量
        ? ? ? ? ? ? for (int i = 0; i < cycle; i++) {
        ? ? ? ? ? ? ? ? while (beginNumber < endNumber) {
        ? ? ? ? ? ? ? ? ? ? //生成的是不帶-的字符串,類似于:b17f24ff026d40949c85a24f4f375d42
        ? ? ? ? ? ? ? ? ? ? String simpleUUID = IdUtil.simpleUUID();
        ? ? ? ? ? ? ? ? ? ? pstmt.setString(1, simpleUUID);
        
        ? ? ? ? ? ? ? ? ? ? //添加到同一個批處理中
        ? ? ? ? ? ? ? ? ? ? pstmt.addBatch();
        ? ? ? ? ? ? ? ? ? ? beginNumber++;
        ? ? ? ? ? ? ? ? }
        ? ? ? ? ? ? ? ? //執行批處理
        ? ? ? ? ? ? ? ? pstmt.executeBatch();
        ? ? ? ? ? ? ? ? //邊界值自增1000
        ? ? ? ? ? ? ? ? endNumber += execute;
        ? ? ? ? ? ? }
        ? ? ? ? ? ? long end = System.currentTimeMillis();
        ? ? ? ? ? ? System.out.println("Jdbc批量入庫結束:" + end);
        ? ? ? ? ? ? System.out.println("Jdbc批量入庫耗時:" + (end - start));
        ? ? ? ? } catch (Exception e) {
        ? ? ? ? ? ? e.printStackTrace();
        ? ? ? ? } finally {
        ? ? ? ? ? ? close(pstmt, conn);
        ? ? ? ? }
        ? ? }
        
        ? ? /**
        ? ? ?* 采用JDBC直接處理(開啟事務、關閉事務)
        ? ? ?* 無批量提交,數據量:10000,耗時:6.689秒,吞吐量:1494.9
        ? ? ?*/
        ? ? public static void jdbcBatchSaveNoExecuteBatch() {
        ? ? ? ? System.out.println("采用JDBC直接處理(開啟事務、關閉事務)");
        ? ? ? ? //定義連接、statement對象
        ? ? ? ? int count = 10000;
        ? ? ? ? Connection conn = null;
        ? ? ? ? PreparedStatement pstmt = null;
        ? ? ? ? try {
        ? ? ? ? ? ? //1. 獲取連接對象
        ? ? ? ? ? ? //加載jdbc驅動
        ? ? ? ? ? ? Class.forName(drive);
        ? ? ? ? ? ? //連接mysql
        ? ? ? ? ? ? conn = DriverManager.getConnection(url, user, password);
        ? ? ? ? ? ? //將自動提交關閉
        ? ? ? ? ? ? conn.setAutoCommit(true);
        
        ? ? ? ? ? ? //2. 定義sql語句
        ? ? ? ? ? ? //String sql = "insert into contract(`name`, `code`) values(?,?)";
        ? ? ? ? ? ? String sql = "insert into `user_db`.`user`( `name`, `sex`, `age`, `email`, `phone`, `address`, `deleted`, `create_id`, `create_time`, `update_id`, `update_time`) " +
        ? ? ? ? ? ? ? ? ? ? "VALUES (?, "boy", 18, "jerry@hello.com", "123456789", "beijing", 0, 0, "2022-11-25 11:17:12", 0, "2022-11-25 11:17:12")";
        
        ? ? ? ? ? ? //3. 為sql語句賦值
        ? ? ? ? ? ? pstmt = conn.prepareStatement(sql);
        
        ? ? ? ? ? ? long start = System.currentTimeMillis();
        ? ? ? ? ? ? System.out.println("Jdbc批量入庫開始:" + start);
        ? ? ? ? ? ? for (int i = 0; i < count; i++) {
        ? ? ? ? ? ? ? ? //生成的是不帶-的字符串,類似于:b17f24ff026d40949c85a24f4f375d42
        ? ? ? ? ? ? ? ? String simpleUUID = IdUtil.simpleUUID();
        ? ? ? ? ? ? ? ? pstmt.setString(1, simpleUUID);
        ? ? ? ? ? ? ? ? pstmt.execute();
        ? ? ? ? ? ? }
        ? ? ? ? ? ? long end = System.currentTimeMillis();
        ? ? ? ? ? ? System.out.println("Jdbc批量入庫結束:" + end);
        ? ? ? ? ? ? System.out.println("Jdbc批量入庫耗時:" + (end - start));
        ? ? ? ? } catch (Exception e) {
        ? ? ? ? ? ? e.printStackTrace();
        ? ? ? ? } finally {
        ? ? ? ? ? ? close(pstmt, conn);
        ? ? ? ? }
        ? ? }
        
        ? ? private static void close(PreparedStatement pstmt, Connection conn) {
        ? ? ? ? if (pstmt != null || conn != null) {
        ? ? ? ? ? ? try {
        ? ? ? ? ? ? ? ? conn.close();
        ? ? ? ? ? ? ? ? pstmt.close();
        ? ? ? ? ? ? } catch (SQLException e) {
        ? ? ? ? ? ? ? ? e.printStackTrace();
        ? ? ? ? ? ? }
        ? ? ? ? }
        ? ? }
        }

        4. MyBatis批量入庫方式

        MyBatis具有方便的擴展性,與業務代碼解耦,動態sql等等高擴展特性,是目前使用非常廣泛的orm插件,一般與spring集成,ssm項目,但是其性能缺有些場景下不如jdbc,驗證參考。

        MyBatis批量入庫: 數據量:10000,耗時:23.951秒,吞吐量:417.5

        環境依賴參考上一策略(batch-ddl.sql,引入依賴:hutool-all,mybatis,mysql-connector-java)。

        創建配置:UserMapper,mybatis-config.xml,UserMapper.xml

        UserMapper

        package com.zrj.maven.assembly.demo.mapper;
        
        import org.apache.ibatis.annotations.Param;
        
        /**
        ?* Descriptation
        ?*
        ?* @author zrj
        ?* @since 2022/11/25
        ?**/
        public interface UserMapper {
        ? ? void insertUser(@Param("name") String name);
        }

        mybatis-config.xml

        <?xml version="1.0" encoding="UTF-8"?>
        <!DOCTYPE configuration
        ? ? ? ? PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        ? ? ? ? "http://mybatis.org/dtd/mybatis-3-config.dtd">
        <!-- mybatis的主配置文件 -->
        <configuration>
        ? ? <!-- 配置環境 -->
        ? ? <environments default="mysql">
        ? ? ? ? <!-- 配置mysql的環境-->
        ? ? ? ? <environment id="mysql">
        ? ? ? ? ? ? <!-- 配置事務的類型-->
        ? ? ? ? ? ? <transactionManager type="JDBC"></transactionManager>
        ? ? ? ? ? ? <!-- 配置數據源(連接池) -->
        ? ? ? ? ? ? <dataSource type="POOLED">
        ? ? ? ? ? ? ? ? <!-- 配置連接數據庫的4個基本信息 -->
        ? ? ? ? ? ? ? ? <property name="driver" value="com.mysql.jdbc.Driver"/>
        ? ? ? ? ? ? ? ? <property name="url" value="jdbc:mysql://localhost:3306/user_db"/>
        ? ? ? ? ? ? ? ? <property name="username" value="root"/>
        ? ? ? ? ? ? ? ? <property name="password" value="123456"/>
        ? ? ? ? ? ? </dataSource>
        ? ? ? ? </environment>
        ? ? </environments>
        
        ? ? <!--
        ? ? 注意:這里需要注意一下,
        ? ? 使用xml配置方式的時候放開xml配置,必須注釋掉注解配置,
        ? ? 使用注解配置的時候放開注解配置,注釋掉xml配置。
        ? ? -->
        
        ? ? <!-- 指定映射配置文件的位置,映射配置文件指的是每個dao獨立的配置文件 -->
        ? ? <mappers>
        ? ? ? ? <mapper resource="mapper/UserMapper.xml"/>
        ? ? </mappers>
        
        ? ? <!-- 在使用基于注解的 Mybatis 配置時,請移除 xml 的映射配置(IUserDao.xml) -->
        ? ? <!--<mappers>-->
        ? ? <!--<mapper></mapper>-->
        ? ? <!--</mappers>-->
        </configuration>

        UserMapper.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.zrj.maven.assembly.demo.mapper.UserMapper">
        ? ? <insert id="insertUser">
        ? ? ? ? INSERT INTO `user_db`.`user`(`name`, `sex`, `age`, `email`, `phone`, `address`, `deleted`, `create_id`, `create_time`, `update_id`, `update_time`)
        ? ? ? ? VALUES (#{name}, "girl", 18, "jerry@hello.com", "123456789", "beijing", 0, 0, "2022-11-25 11:17:12", 0, "2022-11-25 11:17:12");
        ? </insert>
        </mapper>

        MyBatisBatchSave

        package com.zrj.maven.assembly.demo.dbutils;
        
        import cn.hutool.core.util.IdUtil;
        import com.zrj.maven.assembly.demo.mapper.UserMapper;
        import org.apache.ibatis.io.Resources;
        import org.apache.ibatis.session.SqlSession;
        import org.apache.ibatis.session.SqlSessionFactory;
        import org.apache.ibatis.session.SqlSessionFactoryBuilder;
        
        import java.io.IOException;
        import java.io.InputStream;
        
        /**
        ?* MyBatis批量入庫
        ?* 數據量:10000,耗時:23.951秒,吞吐量:417.5
        ?*
        ?* @author zrj
        ?* @since 2022/11/25
        ?**/
        public class MyBatisBatchSave {
        ? ? public static void main(String[] args) {
        ? ? ? ? myBatisBatchSave();
        ? ? }
        
        ? ? /**
        ? ? ?* MyBatis批量入庫
        ? ? ?* 1.安裝數據庫,執行初始化腳本:batch-ddl.sql
        ? ? ?* 2.創建maven項目,引入依賴:hutool-all,mybatis,mysql-connector-java
        ? ? ?* 3.創建配置:UserMapper,mybatis-config.xml,UserMapper.xml
        ? ? ?* 4.測試驗證
        ? ? ?*/
        ? ? private static void myBatisBatchSave() {
        ? ? ? ? int count = 10000;
        ? ? ? ? InputStream in = null;
        ? ? ? ? SqlSession session = null;
        ? ? ? ? try {
        ? ? ? ? ? ? // 1.讀取配置文件
        ? ? ? ? ? ? in = Resources.getResourceAsStream("mybatis-config.xml");
        ? ? ? ? ? ? // 2.創建SqlSessionFactory工廠
        ? ? ? ? ? ? SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
        ? ? ? ? ? ? SqlSessionFactory factory = builder.build(in);
        
        ? ? ? ? ? ? // 3.使用工廠生產SQLSession對象
        ? ? ? ? ? ? session = factory.openSession(true);
        
        ? ? ? ? ? ? // 4.使用SQLSession創建Dao接口的代理對象
        ? ? ? ? ? ? UserMapper userMapper = session.getMapper(UserMapper.class);
        
        ? ? ? ? ? ? // 5.使用代理對象執行方法
        ? ? ? ? ? ? long start = System.currentTimeMillis();
        ? ? ? ? ? ? System.out.println("MyBatis批量入庫開始:" + start);
        ? ? ? ? ? ? for (int i = 0; i < count; i++) {
        ? ? ? ? ? ? ? ? //生成的是不帶-的字符串,類似于:b17f24ff026d40949c85a24f4f375d42
        ? ? ? ? ? ? ? ? String simpleUUID = IdUtil.simpleUUID();
        ? ? ? ? ? ? ? ? userMapper.insertUser(simpleUUID);
        ? ? ? ? ? ? }
        ? ? ? ? ? ? long end = System.currentTimeMillis();
        ? ? ? ? ? ? System.out.println("MyBatis批量入庫結束:" + end);
        ? ? ? ? ? ? System.out.println("MyBatis批量入庫耗時:" + (end - start));
        
        ? ? ? ? } catch (IOException e) {
        ? ? ? ? ? ? e.printStackTrace();
        ? ? ? ? } finally {
        ? ? ? ? ? ? try {
        ? ? ? ? ? ? ? ? // 6.釋放資源
        ? ? ? ? ? ? ? ? session.close();
        ? ? ? ? ? ? ? ? in.close();
        ? ? ? ? ? ? } catch (IOException e) {
        ? ? ? ? ? ? ? ? e.printStackTrace();
        ? ? ? ? ? ? }
        ? ? ? ? }
        ? ? }
        
        }

        5. MySQL批量入庫總結

        采用hutool批量入庫, 數據量:10000, 耗時:7.38秒, 吞吐量:1357(次之)
        采用JDBC直接處理, 數據量:10000, 耗時:6.689秒, 吞吐量:1494.9(其次)
        采用JDBC批處理, 數據量:100000,耗時:2.271秒, 吞吐量:44033(最高)
        采用MyBatis批量入庫: 數據量:10000, 耗時:23.951秒, 吞吐量:417.5(最差)

        到此這篇關于詳解MySQL批量入庫的幾種方式的文章就介紹到這了,更多相關MySQL批量入庫內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

        標簽: MySQL
        相關文章:
        主站蜘蛛池模板: 石家庄网站建设|石家庄网站制作|石家庄小程序开发|石家庄微信开发|网站建设公司|网站制作公司|微信小程序开发|手机APP开发|软件开发 | 祝融环境-地源热泵多恒系统高新技术企业,舒适生活环境缔造者! | 机床导轨_导轨板_滚轮导轨-上海旻佑精密机械有限公司 | 艺术涂料|木纹漆施工|稻草漆厂家|马来漆|石桦奴|水泥漆|选加河南天工涂料 | 酒瓶_酒杯_玻璃瓶生产厂家_徐州明政玻璃制品有限公司 | 非标压力容器_碳钢储罐_不锈钢_搪玻璃反应釜厂家-山东首丰智能环保装备有限公司 | 代理记账_公司起名核名_公司注册_工商注册-睿婕实业有限公司 | 临沂招聘网_人才市场_招聘信息_求职招聘找工作请认准【马头商标】 | 开业庆典_舞龙舞狮_乔迁奠基仪式_开工仪式-神挚龙狮鼓乐文化传媒 | R507制冷剂,R22/R152a制冷剂厂家-浙江瀚凯制冷科技有限公司 | 北京百度网站优化|北京网站建设公司-百谷网络科技 | 防勒索软件_数据防泄密_Trellix(原McAfee)核心代理商_Trellix(原Fireeye)售后-广州文智信息科技有限公司 | 校园气象站_超声波气象站_农业气象站_雨量监测站_风途科技 | 汕头市盛大文化传播有限公司,www.11400.cc | 有机废气处理-rto焚烧炉-催化燃烧设备-VOC冷凝回收装置-三梯环境 | 首页_欧瑞传动官方网站--主营变频器、伺服系统、新能源、软起动器、PLC、HMI | 南京泽朗生物科技有限公司 | 真空粉体取样阀,电动楔式闸阀,电动针型阀-耐苛尔(上海)自动化仪表有限公司 | 杭州公司变更法人-代理记账收费价格-公司注销代办_杭州福道财务管理咨询有限公司 | 回转支承-转盘轴承-回转驱动生产厂家-洛阳隆达轴承有限公司 | 儋州在线-儋州招聘找工作、找房子、找对象,儋州综合生活信息门户! | 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 金属回收_废铜废铁回收_边角料回收_废不锈钢回收_废旧电缆线回收-广东益夫金属回收公司 | 冷却塔厂家_冷却塔维修_冷却塔改造_凉水塔配件填料公司- 广东康明节能空调有限公司 | 氧化锆纤维_1800度高温退火炉_1800度高温烧结炉-南京理工宇龙新材料股份有限公司 | 塑料检查井_双扣聚氯乙烯增强管_双壁波纹管-河南中盈塑料制品有限公司 | 硫化罐_蒸汽硫化罐_大型硫化罐-山东鑫泰鑫智能装备有限公司 | 纸布|钩编布|钩针布|纸草布-莱州佳源工艺纸布厂 | 杭州厂房降温,车间降温设备,车间通风降温,厂房降温方案,杭州嘉友实业爽风品牌 | 西门子伺服电机维修,西门子电源模块维修,西门子驱动模块维修-上海渠利 | 上海恒驭仪器有限公司-实验室平板硫化机-小型平板硫化机-全自动平板硫化机 | 成都办公室装修-办公室设计-写字楼装修设计-厂房装修-四川和信建筑装饰工程有限公司 | 液氨泵,液化气泵-淄博「亚泰」燃气设备制造有限公司 | 窖井盖锯圆机_锯圆机金刚石锯片-无锡茂达金刚石有限公司 | (中山|佛山|江门)环氧地坪漆,停车场地板漆,车库地板漆,聚氨酯地板漆-中山永旺地坪漆厂家 | 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 400电话_400电话申请_888元包年_400电话办理服务中心_400VIP网 | 针焰试验仪,灼热丝试验仪,漏电起痕试验仪,水平垂直燃烧试验仪 - 苏州亚诺天下仪器有限公司 | Win10系统下载_32位/64位系统/专业版/纯净版下载 | 玉米加工设备,玉米深加工机械,玉米糁加工设备.玉米脱皮制糁机 华豫万通粮机 | 口臭的治疗方法,口臭怎么办,怎么除口臭,口臭的原因-口臭治疗网 |