使用存储过程实现千万级的大批量数据插入
t_user表
创建存储过程 insert_user(IN c int(10));
CREATE PROCEDURE insert_user(IN c int(10))
BEGINDECLARE i INT DEFAULT 0 ;REPEATSET i = i + 1 ;
INSERT INTO t_user (`name`, `addr`)VALUES("aaaaaaa", "bbbbbbb") ;
UNTIL i = c END REPEAT;
END
调用存储过程 Call pro_name(args);
-- MySQL默认为自动提交
SHOW VARIABLES LIKE '%autocommit%';
-- 设置当前会话不自动提交
SET SESSION autocommit=0;
SHOW VARIABLES LIKE '%autocommit%';
-- 新插入八千万行数据
CALL insert_user(80000000);
-- 提交
COMMIT;
-- 设置当前会话自动提交
SET SESSION autocommit=1;
SHOW VARIABLES LIKE '%autocommit%';
每插入10000000行数据要5 minutes 左右。
所以插入80000000行记录需要 40 minutes 左右。此次执行实际用了60 minutes。
以下为上述执行过程的统计信息
[SQL]-- MySQL默认为自动提交
SHOW VARIABLES LIKE '%autocommit%';
受影响的行: 0
时间: 0.001s[SQL]
-- 设置当前会话不自动提交
SET SESSION autocommit=0;
受影响的行: 0
时间: 0.000s[SQL]
SHOW VARIABLES LIKE '%autocommit%';
受影响的行: 0
时间: 0.001s[SQL]
-- 新插入八千万行数据
CALL insert_user(80000000);
受影响的行: 1
时间: 3632.734s[SQL]
-- 提交
COMMIT;
受影响的行: 0
时间: 0.295s[SQL]
-- 设置当前会话自动提交
SET SESSION autocommit=1;
受影响的行: 0
时间: 0.000s[SQL]
SHOW VARIABLES LIKE '%autocommit%';
受影响的行: 0
时间: 0.002s
使用存储过程实现千万级的大批量数据插入相关推荐
- SqlServer千万级以上的数据表查询优化方案《冷热数据库分离》的思路
1.是分库而不是分表,分表即需要考虑引入分表算法,又影响后续查询. 2.热数据只占全部数据的一部分,因此每次优先查询热库,以下情况才查询冷库 --a.当查询条件未命中(结果集为空)时,查询冷库. ...
- 数据分析实战案例:手把手教你用 Python 分析千万级淘宝数据
1.项目背景与分析说明 1)项目背景 网购已经成为人们生活不可或缺的一部分,本次项目基于淘宝app平台数据,通过相关指标对用户行为进行分析,从而探索用户相关行为模式. 2)数据和字段说明 本文使用的数 ...
- mysql大批量数据插入技巧
转自:https://jingyan.baidu.com/album/95c9d20d61b01dec4f75615a.html?picindex=6 首先我是简单的写了一个mysql的循环插入数据的 ...
- mysql 优化配置 大批量数据插入_php导入大量数据到mysql性能优化技巧
本文实例讲述了php导入大量数据到mysql性能优化技巧.分享给大家供大家参考.具体分析如下: 在mysql中我们结合php把一些文件导入到mysql中,这里就来分享一下我对15000条记录进行导入时 ...
- mysql 优化配置 大批量数据插入_MYSQL开发性能研究——批量插入的优化措施
一.我们遇到了什么问题 在标准SQL里面,我们通常会写下如下的SQL insert语句. INSERT INTO TBL_TEST (id) VALUES(1); 很显然,在MYSQL中,这样的方式也 ...
- MySQL大批量数据插入
公司有一个项目,需要频繁的插入数据到MySQL数据库中,设计目标要求能支持平均每秒插入1000条数据以上.目前功能已经实现,不过一做压力测试,发现数据库成为瓶颈,每秒仅能插入100多条数据,远远达不到 ...
- mysql 优化配置 大批量数据插入_[译] MySQL 最佳实践 —— 高效插入数据
当你需要在 MySQL 数据库中批量插入数百万条数据时,你就会意识到,逐条发送 INSERT 语句并不是一个可行的方法. MySQL 文档中有些值得一读的 INSERT 优化技巧. 在这篇文章里,我将 ...
- mybatis-plus大批量数据插入缓慢问题
文章目录 问题 排查 结果 建议 问题 最近项目用的mybatis-plus做的映射,有个批处理文件内容的需求,在使用mybatis-plus的批处理方法saveBatch时发现速度特别慢,测试从10 ...
- java,如何处理大批量数据插入
由于做公司业务,由于数据量太大,一条条插入数据非常缓慢.(记得是插入60w单表数据,就要半个多小时,处理完后只需要几秒了) 后来,自己操作的是通过拼接sql语句,比如 insert into pers ...
最新文章
- SICP学习笔记(P27-P28)
- 【易创课堂】第3期,最后2天报名啦!
- jax-rs jax-ws_Google App Engine JAX-RS REST服务
- Django ORM中原生JSONField的使用方法
- Java 判断是否包含指定的子串 contains()
- Thread 相关函数和属性
- 字符串、数组处理方法总结
- Web 前端开发者必知CSS 属性
- 太阳粒子是什么东西_太阳粒子流是什么
- 十分钟倒计时flash_Flash 101-第6部分:最终倒计时
- mysql XA 分布式事务、DTM TCC事务(多语言支持)
- 每天被信息轰炸的你,如何辨别新闻真假?
- 如何将自己写的项目发布到外网上
- PHP微信公众号文章编辑排版工具源码+采集功能/附教程
- 题解:艾米利亚的魔法
- 备战面试日记(2.4) - (JVM.GC算法)
- Autodesk Revit 2023 三维建模软件中文正式版安装说明
- c语言输出法雷序列,法雷(法里)序列 - osc_h0wb1wlt的个人空间 - OSCHINA - 中文开源技术交流社区...
- 唱响艾泽拉斯_职业篇
- table表头行固定
热门文章
- 安卓12鸿蒙,安卓12,鸿蒙OS2相继发布,微软Windows也坐不住了!
- R语言评价分类器性能
- html八数码问题求解过程的可视化,(转贴)数字拼图问题(八数码)求解过程动态演示...
- 谷歌浏览器adobe flash player的相关问题
- InnoDB的全文索引
- 为Linux编译atheros ar1111(设备ID:168c:0037,AW-NB100H – AR5B225 Atheros half size)网卡驱动...
- 流动的数据——使用 RxJS 构造复杂单页应用的数据逻辑
- git使用MERGING处理
- 【Linux】循序渐进学运维-服务篇-rysnc原理
- 简单使用tf.app.run()、tf.logging和tf.app.flags机制