环境准备
安装包方式
- 网上资料很多,请自行百度/谷歌搜索。
Docker方式
-
安装Docker
Docker基础学习 -
启动MySQL
- 拉取镜像
docker pull mysql:5.7 - 启动容器
docker run -p 3306:3306 --name mysql-local -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
PS:端口:3306 用户名:root 密码:123456 - 查看容器
docker ps
- 拉取镜像
-
连接MySQL
- Navicat
- DataGrip
数据准备
利用存储过程
- 建表语句
create table if not exists test_temp
(
test_id int auto_increment primary key,
field_1 varchar(20),
field_2 varchar(20),
field_3 bigint,
create_date date
);
- 存储过程
drop procedure if exists test_insert;
create procedure test_insert(n int)
begin
declare v int default 0;
SET AUTOCOMMIT = 0;
while v < n
do
insert into test_temp(field_1, field_2, field_3, create_date)
values (concat('testing',v),
substring(md5(rand()), 1, 10),
floor(rand() * 1000000),
adddate('1970-01-01', rand(v) * 10000));
set v = v + 1;
end while;
SET AUTOCOMMIT = 1;
end;
PS: SET AUTOCOMMIT 是为了最终一次性提交事务,避免每次插入数据都开启一次事务花费时间。
- 插入数据
call test_insert(1000000);
PS: 最终耗时2分18秒插入100万条数据,为了随机生成参数在存储过程中使用了一些函数,如果对插入数据质量要求不高,可以直接将参数写死,这样insert速度会更快。
test> call test_insert(1000000)
[2021-08-29 11:54:38] completed in 2 m 18 s 286 ms
编写测试代码
- 此方式需要配置MySQL的连接信息,然后利用API编写测试代码插入数据,此外还有可能遇到MySQL驱动包的版本依赖问题,不推荐。