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


本文摘自PHP中文网,作者WJ,侵删。

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

1.建表:

1

2

3

4

5

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.创建一条条循环插入的存储过程

1

2

3

4

5

6

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

阅读剩余部分

相关阅读 >>

mysql系列之开篇 mysql关系型数据库基础概念

mysql求和函数使用示例

mysql连接名是什么

sql与pl /sql之间的简单比较

mysql表如何设置读写

关于mysql max 与 where 间的执行问题小结

详解高性能mysql主从架构的复制原理及配置

mysql如何手动获取自增主键

掌握mysql中的dml、ddl、dcl

mysql中buffered and unbuffered queries及pdo的非缓存查询例子

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...