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


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

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.优化后的存储过程

Trae国内版 Trae国内版

国内首款AI原生IDE,专为中国开发者打造

Trae国内版 2045 查看详情 Trae国内版
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分钟)。个人电脑这个速度可以了。

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

相关参考:MySQL教程



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


# 镜像  # 如何实现  # 解锁  # mysql  # 找了  # 专业网站建设公司黄页  # 品牌seo推广免费咨询  # 长安区品牌营销推广方案  # 中文网  # 相关文章  # 个人电脑  # 修改密码  # 存储过程  # 国内  # 百度优化seo培训  # 郑州企业站seo报价  # 赣州互联网推广营销培训  # 项城网站建设维护  # 山西抽水泵网站建设  # 推广页和网站有什么区别  # 喀什网站优化与seo 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: Win10如何彻底关闭OneDrive Win10禁用云同步功能【纯净】  126手机126邮箱登录_126邮箱手机登录入口官网  MySQL多重关联查询:利用别名高效获取同一表的多个关联字段  Lar*el Socialite单设备登录策略:实现用户唯一会话管理  猫眼电影app如何参与官方的抽奖活动_猫眼电影官方抽奖参与方法  PHP odbc_fetch_array 返回值处理:如何正确访问嵌套数组元素  《律学法考》查看学习数据方法  Win11怎么设置分辨率 Win11显示设置调整分辨率及刷新率修改  口腔诊所管理软件推荐  Bootstrap 5导航栏折叠功能失效:数据属性迁移指南  《爱笔思画x》魔棒工具抠图教程  铁拳8在线玩 铁拳8在线秒玩入口  《广发易淘金》国债逆回购操作教程  mysql触发器如何编写_mysql触发器编写规范与代码示例讲解  飞飞漫画漫画阅读官网_飞飞漫画漫画阅读官网进入阅读  德邦物流在线查询系统 德邦快递货物运输追踪  宝妈做视频号该写什么标签话题?宝妈关注的话题有哪些?  极兔快递官网查询入口手机版 手机极兔快递登录查询入口官方  狙击外星人小游戏在线链接_狙击外星人小游戏网页链接  作业帮网页版不用下载入口 在线问老师快速答疑  win11如何诊断DirectX问题 Win11运行dxdiag工具排查显卡故障【排错】  易车网官网直达入口 易车网在线登录入口  《优志愿》修改手机号方法  123网页端官方登录页 123邮箱网页版即时通讯服务  PointNet++语义分割模型中类别变更引发的断言错误及标签处理策略  iPhone 13 mini如何清理Safari缓存_iPhone 13 mini浏览器缓存清理方法  TikTok视频播放不流畅怎么办 TikTok视频播放优化方法  智学网app怎么登录忘记密码_智学网app忘记密码找回与重新登录操作方法  电脑开不了机怎么办 电脑无法开机的解决方法  圆通快递官网入口查询单号 手机版官方查询入口  5G和6G的连接密度有什么区别 6G每平方公里能连接多少设备  使用 J*aScript 随机化 CSS Grid 布局中的元素顺序  漫蛙manwa漫画官网链接_漫蛙manwa最新可用网址推荐  掌握产品代码正则表达式:避免常见陷阱与精确匹配  《桃源记2》资源采集攻略  J*a实现任务清单管理_集合框架综合入门练手  SQLAlchemy 2.0 与 Pydantic 模型类型安全集成指南  《搜书吧》阅读书籍方法  如何自定义苹果手机铃声  海棠阅读登录教程_详细讲解海棠登录操作  Dash应用多值文本输入处理与类型转换教程  Yandex俄罗斯搜索引擎官网入口 Yandex网页端直接访问  人教版电子教材在线获取指南  VS Code中的Tailwind CSS IntelliSense插件使用技巧  荣耀Magic7拍照夜景噪点处理_荣耀Magic7相机优化  稻壳阅读器官方直达网址链接 稻壳阅读器文档阅读平台主页资源入口  Go Goroutine调度与并发执行深度解析  《一起考教师》账号注销方法  行者app怎样导出日志  J*aScript实现下拉菜单驱动的动态表格数据展示 

 2020-06-03

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.