当前位置: > > > MySQL - 快速生成大量测试数据方法(无需编写代码、或存储过程)

MySQL - 快速生成大量测试数据方法(无需编写代码、或存储过程)

    有时我们需要在数据库中构建大量的基础数据(比如千万级别数据)进行查询操作的性能测试或者 sql 优化。我们通常会采用如下两种方式来创建测试数据:
  • 方式一:编写代码,通过代码批量插库
  • 方式二:编写存储过程和函数执行
    但这两种方法都略显麻烦,本文使用 MySQL 自带的压力测试工具 mysqlslap 来实现测试数据的构建。如果想要了解 mysqlslap 更详细的用法,可以参考我之前写的文章(点击查看

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)查看数据库,可以发现测试数据已经创建成功:
评论0