Mysq-造数工具mysql_random_data_load

1.背景

实际开发中,做sql优化,为确保可行性,可能需要模拟出大量数据验证。

此处,介绍一个造数工具mysql_random_data_load ,体验了下,很方便。

2.使用

2.1 下载

下载:mysql_random_data_load(releases页面)

选择合适的版本,例如。

image-20240816233003293

或者直接使用命令

wget https://github.com/Percona-Lab/mysql_random_data_load/releases/download/v0.1.12/mysql_random_data_load_0.1.12_Linux_x86_64.tar.gz

2.2 安装

上传到服务器直接解压即可。

tar -zxvf mysql_random_data_load_0.1.12_Linux_x86_64.tar.gz

image-20240816233503948

./mysql_random_data_load  --help

image-20240816233828161

2.3 使用

# ./mysql_random_data_load 库名 表名 数量 --user=用户名 --password=密码 --host=127.0.0.1 --port=3306

# 例如: za7za8库的za7表创建100000条数据
./mysql_random_data_load za7za8 za7 100000 --user=root --password=123456 --host=127.0.0.1 --port=3306

然后补充下它help里提到的几个常用参数。

--max-threads=4: 使用 4 个线程来并行执行插入操作,提升数据加载的并发性。
--bulk-size=5000: 每次批量插入 5000 行数据,减少插入频率,降低连接开销。
--no-progress: 禁用进度条显示,避免在某些终端环境下的卡顿问题。
--debug: 启用调试模式,记录调试信息,帮助分析可能的问题。
--print: (可选)如果只想查看生成的 SQL 语句而不实际插入数据,可以使用此参数打印 SQL 语句。

下面是测试的例子。

额,我测试的这条服务器配置比较差,2C4G的。

200万数据用了6m44s,不过很简单,敲一行执行命令,等着即可。

image-20240816233302008

image-20240816233649092

下面是造好的demo数据。

image-20240816233626219

posted @ 2024-08-16 23:39  羊37  阅读(41)  评论(0编辑  收藏  举报