广告
返回顶部
首页 > 资讯 > 数据库 >mysql数据库实现插入千万级数据的方法
  • 381
分享到

mysql数据库实现插入千万级数据的方法

2024-04-02 19:04:59 381人浏览 薄情痞子
摘要

mysql如何实现循环插入千万级数据?1.建表:CREATE TABLE `Mysql_genarate` ( `id` int(11) NOT NULL AUTO_INCREMENT, `uuid

mysql如何实现循环插入千万级数据?

1.建表:

CREATE TABLE `Mysql_genarate` (  
`id` int(11) NOT NULL AUTO_INCREMENT,  
`uuid` varchar(50) DEFAULT NULL,  
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5990001 DEFAULT CHARSET=utf8

2.创建一条条循环插入的存储过程

create procedure test_two1()
     begin
        declare i int default 0;       while i < 3000 do
            INSERT into mysql_genarate(uuid) VALUES(UUID());            set i = i + 1;
        end while;
    end #

使用 call test_two1(); 测试,3000条数据耗时74秒,如果是千万级数据,这个速度将无法忍受。

所以我在网上找了一下优化的方法,发现可以拼接批量插入的sql语句,速度提升很多;

3.优化后的存储过程

CREATE PROCEDURE insertPro(in sum INT)BEGINDECLARE count INT DEFAULT 0;DECLARE i INT DEFAULT 0;
set @exesql = concat("insert into mysql_genarate(uuid) values");
set @exedata = "";
set count=0;
set i=0;while count<sum do 
    set @exedata = concat(@exedata, ",(UUID())");
    set count=count+1;
    set i=i+1;    if i%1000=0
    then 
        set @exedata = SUBSTRING(@exedata, 2);
        set @exesql = concat("insert into mysql_genarate(uuid) values ", @exedata);
        prepare stmt from @exesql;
        execute stmt;        DEALLOCATE prepare stmt;
        set @exedata = "";    end if;end while;if length(@exedata)>0 then 
    set @exedata = SUBSTRING(@exedata, 2);
    set @exesql = concat("insert into mysql_genarate(uuid) values ", @exedata);
    prepare stmt from @exesql;
    execute stmt;    DEALLOCATE prepare stmt;end if;end;

调用 call insertPro(3000) ,耗时零点几秒,这个速度可以接受。

接着调用 call insertPro(30000000) ;测试3000万条数据插入,结果耗时1824.203s(30分钟)。个人电脑这个速度可以了。

另外,采用java多线程同时拼接sql,每10000条提交一次的方式,在8个线程同时运行的情况下,3000万条数据插入耗时336s,1亿条数据插入耗时1087s。

以上就是mysql如何实现循环插入千万级数据的详细内容,更多请关注编程网其它相关文章!

您可能感兴趣的文档:

--结束END--

本文标题: mysql数据库实现插入千万级数据的方法

本文链接: https://www.lsjlt.com/news/36853.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql数据库实现插入千万级数据的方法
    mysql如何实现循环插入千万级数据?1.建表:CREATE TABLE `mysql_genarate` ( `id` int(11) NOT NULL AUTO_INCREMENT, `uuid...
    99+
    2022-10-18
  • MySQL循环插入千万级数据
    1、创建测试表 CREATE TABLE `mysql_genarate` ( `id` int(11) NOT NULL AUTO_INCREMENT, `uuid` varchar(50) DE...
    99+
    2022-05-27
    MySQL 循环插入 MySQL 循环插入千万级数据
  • .Net Core导入千万级数据至Mysql数据库的实现方法
    目录前期准备订单测试表测试环境实现方法:1、单条数据插入2、合并数据插入3、MySqlBulkLoader插入性能测试对比最后​最近在工作中,涉及到一个数据迁移功能,从一...
    99+
    2022-11-12
  • 千万级数据的mysql数据库与优化方法
    本篇内容主要讲解“千万级数据的mysql数据库与优化方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“千万级数据的mysql数据库与优化方法”吧!1.对查询进行...
    99+
    2022-10-18
  • 怎么在MySql中插入千万级大数据
    今天就跟大家聊聊有关怎么在MySql中插入千万级大数据,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。第一步,读取文件,开始插入多线程在这里,达到一定...
    99+
    2022-10-18
  • Python读取千万级数据自动写入MySQL数据库
    目录前言场景一:数据不需要频繁的写入mysql场景二:数据是增量的,需要自动化并频繁写入mysql总结前言 Python 读取数据自动写入 MySQL 数据库,这个需求在工作中是非常...
    99+
    2022-11-11
  • MySQL千万级数据优化方案
    简介                           ↓↓↓处理千万级数据的MySQL数据库,可以采取以下优化措施↓↓↓                                                       ...
    99+
    2023-10-24
    mysql 数据库
  • 怎么用Python读取千万级数据自动写入MySQL数据库
    这篇文章主要介绍“怎么用Python读取千万级数据自动写入MySQL数据库”,在日常操作中,相信很多人在怎么用Python读取千万级数据自动写入MySQL数据库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎...
    99+
    2023-07-02
  • .Net Core导入千万级数据至Mysql的步骤
    目录前期准备实现方法:1、单条数据插入2、合并数据插入3、MySqlBulkLoader插入性能测试对比最后前期准备 订单测试表 CREATE TABLE `trade` (   `id` V...
    99+
    2022-05-25
    MySQL 导入数据 .Net Core导入数据MySQL MySQL 千万级数据
  • 详解MySQL数据库千万级数据查询和存储
    目录百万级数据处理方案数据存储结构设计查询语句优化千万级数据处理方案数据存储结构设计数据库表主键设计MySQL面试题MySQL数据库千万级数据查询优化方案你用过MySQL那些存储引擎他们都有什么特点和区别?那他们都有...
    99+
    2022-05-14
    mysql 数据 mysql 存储 千万级 优化
  • MySQL数据库10秒内插入百万条数据的实现
    首先我们思考一个问题: 要插入如此庞大的数据到数据库,正常情况一定会频繁地进行访问,什么样的机器设备都吃不消。那么如何避免频繁访问数据库,能否做到一次访问,再执行呢? Java其实已...
    99+
    2022-11-12
  • Java实现百万级数据量向MySQL批量插入
    业务背景: 大数据向mysql表同步百万级数量,我们需要将大数据表里同步过来的数据分别向三张业务表做数据同步,最终将业务表的数据展示给前台进行相关业务操作。 数据量级 大数据表:700w数据量 三张业务表分别需要同步:23w、80w、680...
    99+
    2023-08-25
    mysql java mybatis
  • MySQL千万级数据表的优化实战记录
    前言 这里先说明一下,网上很多人说阿里规定500w数据就要分库分表。实际上,这个500w并不是定义死的,而是与MySQL的配置以及机器的硬件有关。MySQL为了提升性能,会将表的索引...
    99+
    2022-11-12
  • MySQL数据库千万级数据查询和存储的示例分析
    这篇文章主要介绍MySQL数据库千万级数据查询和存储的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!百万级数据处理方案数据存储结构设计表字段设计表字段 not null,因为 null 值很难查询优化且占用额...
    99+
    2023-06-15
  • MySQL千万级数据的大表优化解决方案
    目录1.数据库设计和表创建时就要考虑性能设计表时要注意:索引简言之就是使用合适的数据类型,选择合适的索引引擎2.sql的编写需要注意优化3.分区分区的好处是:分区的限制和缺点:分区的类型:4.分表5.分库mysql数据库...
    99+
    2022-11-20
    mysql千万级数据 mysql优化
  • MySQL如何快速实现创建千万级测试数据
    下面讲讲关于MySQL如何快速实现创建千万级测试数据,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完MySQL如何快速实现创建千万级测试数据这篇文章你一定会有所受益。 ...
    99+
    2022-10-18
  • 如何实现88秒插入1000万条数据到MySQL数据库表
    这篇文章将为大家详细讲解有关如何实现88秒插入1000万条数据到MySQL数据库表,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。我用到的数据库为,mysql数据库5.7版...
    99+
    2022-10-18
  • Java怎么实现几十万条数据插入(30万条数据插入MySQL仅需13秒)
    本文主要讲述通过MyBatis、JDBC等做大数据量数据插入的案例和结果。 30万条数据插入插入数据库验证 实体类、mapper和配置文件定义User实体mapper接口mapper.xml文件jdbc.propertiessqlM...
    99+
    2023-08-16
    java mysql mybatis
  • mysql千万级数据量根据索引优化查询速度的实现
    (一)索引的作用 索引通俗来讲就相当于书的目录,当我们根据条件查询的时候,没有索引,便需要全表扫描,数据量少还可以,一旦数据量超过百万甚至千万,一条查询sql执行往往需要几十秒甚至更...
    99+
    2022-11-11
  • Kettle--MySQL生产数据库千万、亿级数据量迁移方案及性能优化
    一、Kettle环境搭建 一、Windows主要用于可视化创建数据迁移用到的ktr转换脚本、kjb作业脚本,以及脚本需要配置的DB2信息、读写性能优化信息等,也可直接在客户端完成不同数据库之间的数据迁移。 测试库表及数据 (1)创建测试库表...
    99+
    2023-09-10
    数据库 linux 服务器
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作