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

本文介绍了如何利用MySQL自带的压力测试工具mysqlslap创建大量测试数据,用于查询操作的性能测试或SQL优化。通过设置并发线程和插入次数,可以在people表中快速生成1百万条随机数据,总耗时208秒,数据插入完成后,测试数据准备就绪。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有时我们需要在数据库中构建大量的基础数据(比如千万级别数据)进行查询操作的性能测试或者 sql 优化。我们通常会采用如下两种方式来创建测试数据:

  • 方式一:编写代码,通过代码批量插库

  • 方式二:编写存储过程和函数执行

    但这两种方法都略显麻烦,本文使用 MySQL 自带的压力测试工具 mysqlslap 来实现测试数据的构建。如果想要了解 mysqlslap 更详细的用法,可以参考我之前写的文章(点击查看

1,准备工作

假设我们要在 people 表里插入 1 百万条随机的测试数据,表结构如下:

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

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 秒:

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

(3)查看数据库,可以发现测试数据已经创建成功:

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


原文出自:www.hangge.com 转载请保留原文链接:https://www.hangge.com/blog/cache/detail_3071.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值