MySQL - 快速生成大量测试数据方法(无需编写代码、或存储过程)
有时我们需要在数据库中构建大量的基础数据(比如千万级别数据)进行查询操作的性能测试或者 sql 优化。我们通常会采用如下两种方式来创建测试数据:
(2)执行完毕可以发现总耗时 208 秒:
(3)查看数据库,可以发现测试数据已经创建成功:
- 方式一:编写代码,通过代码批量插库
- 方式二:编写存储过程和函数执行
1,准备工作
假设我们要在 people 表里插入 1 百万条随机的测试数据,表结构如下:
2,插入数据
(1)我们执行如下命令实现数据插入,为提高效率这里开启 10 个客户端线程同时插入,总共执行 1 百万次操作:
mysqlslap -uroot -pHangge_123 --concurrency=10 --number-of-queries=1000000 --create-schema=hangge --query="INSERT INTO people(name,age) VALUES (uuid(), RAND() * 100)"
(2)执行完毕可以发现总耗时 208 秒:
(3)查看数据库,可以发现测试数据已经创建成功: