Mysq-造数工具mysql_random_data_load
1.背景
实际开发中,做sql优化,为确保可行性,可能需要模拟出大量数据验证。
此处,介绍一个造数工具mysql_random_data_load
,体验了下,很方便。
2.使用
2.1 下载
下载:mysql_random_data_load(releases页面)
选择合适的版本,例如。
或者直接使用命令
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
./mysql_random_data_load --help
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,不过很简单,敲一行执行命令,等着即可。
下面是造好的demo数据。