本文摘自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》频道 >>
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » mysql如何实现循环插入千万级数据