本文摘自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中where子句的用法
关于mysql 严格模式 strict mode的说明讲解
教你怎么在linux上登录mysql和退出mysql
mysql面试题附答案-2019
mysql事务中四种隔离级别
笔记之 mysql 优化
mysql怎么设置唯一字段
mysql中的int(11)代表什么
mysql事务日志有什么用
动力节点mysql基础视频资料分享
更多相关阅读请进入《mysql》频道 >>
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » mysql如何实现循环插入千万级数据