使用Navicat创建存储过程(顺带插入百万级数据量)

一、建表

DROP TABLE IF EXISTS `test_user`;  
CREATE TABLE `test_user` (
  `id` bigint(20)  PRIMARY key not null AUTO_INCREMENT,
  `username` varchar(11) DEFAULT NULL,
  `gender` varchar(2) DEFAULT NULL,
  `password` varchar(100) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `test_user`; CREATE TABLE `test_user` ( `id` bigint(20) PRIMARY key not null AUTO_INCREMENT, `username` varchar(11) DEFAULT NULL, `gender` varchar(2) DEFAULT NULL, `password` varchar(100) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8;

二、建立函数

将SQL放在下图位置处

while num <= 1000000 do   
    insert into test_user(username,gender,password) values(num,保密,PASSWORD(num));   
    set num=num+1;  end while;
while num <= 1000000 do insert into test_user(username,gender,password) values(num,保密,PASSWORD(num)); set num=num+1; end while;

保存SQL,运行。

输入参数1,即从1开始插入一百万条数据。

耗时:27.996s

本文中使用的存储引擎为MyISAM。因为它不支持事务,所以插入数据才会如此之快。

若选择INNODB,插入一百万条数据则需要耗时:1297.971s。

附带数据(可自行测试):

参考:

一、建表 DROP TABLE IF EXISTS `test_user`; CREATE TABLE `test_user` ( `id` bigint(20) PRIMARY key not null AUTO_INCREMENT, `username` varchar(11) DEFAULT NULL, `gender` varchar(2) DEFAULT NULL, `password` varchar(100) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 二、建立函数 将SQL放在下图位置处 while num <= 1000000 do insert into test_user(username,gender,password) values(num,保密,PASSWORD(num)); set num=num+1; end while; 保存SQL,运行。 输入参数1,即从1开始插入一百万条数据。 耗时:27.996s 本文中使用的存储引擎为MyISAM。因为它不支持事务,所以插入数据才会如此之快。 若选择INNODB,插入一百万条数据则需要耗时:1297.971s。 附带数据(可自行测试): 参考:
经验分享 程序员 微信小程序 职场和发展