为windows下的mysql产生大量测试数据
2016-08-27 21:16
423 查看
参考了这篇文章http://bbs.chinaunix.net/thread-4244844-1-1.html ,不过这篇文章只支持linux,windows下并不支持,特做补充。
创建临时数据表tmp_series
create table tmp_series(id int,primary key(id));
用python生成100w记录的数据文件
python -c "for i in range(1,1+1000000): print(i)">100w.txt
也可以直接用bash做,但bash的方式要比python慢得多
[chenhj@localhost ~]$ i=1;while [ $i -le 1000000 ];do echo $i ;let i+=1; done >100w.txt
【补充】个人认为应该是bash是每循环一次写一次,python是生成的结果在内存中,一次写入,极大地提高了速度。
导入数据到tmp_series表
mysql> load data infile '/home/chenhj/100w.txt' replace into table tmp_series;
Query OK, 1000000 rows affected (9.66 sec)
Records: 1000000 Deleted: 0 Skipped: 0 Warnings: 0
【补充】
1.win下面路径是类似“F:/datax/datax/100w.txt”
2.由于操作系统的差异,win下python直接生成的文件是UCS-2 LE BOM格式的,mysql居然不认。100w条数据可以直接用noteoad++改成utf-8的。如果数据量更大notepad++打不开,那只能通过脚本实现了。
创建测试数据表
create table tb1(id int,c1 int,c2 varchar(100),primary key(id))
通过tmp_series表生成并插入测试数据,测试数据的计算方法可以自由发挥。
mysql> insert into tb1 select id,round(rand()*100000),concat('testdatatestdatatestdata',id) from tmp_series;
创建临时数据表tmp_series
create table tmp_series(id int,primary key(id));
用python生成100w记录的数据文件
python -c "for i in range(1,1+1000000): print(i)">100w.txt
也可以直接用bash做,但bash的方式要比python慢得多
[chenhj@localhost ~]$ i=1;while [ $i -le 1000000 ];do echo $i ;let i+=1; done >100w.txt
【补充】个人认为应该是bash是每循环一次写一次,python是生成的结果在内存中,一次写入,极大地提高了速度。
导入数据到tmp_series表
mysql> load data infile '/home/chenhj/100w.txt' replace into table tmp_series;
Query OK, 1000000 rows affected (9.66 sec)
Records: 1000000 Deleted: 0 Skipped: 0 Warnings: 0
【补充】
1.win下面路径是类似“F:/datax/datax/100w.txt”
2.由于操作系统的差异,win下python直接生成的文件是UCS-2 LE BOM格式的,mysql居然不认。100w条数据可以直接用noteoad++改成utf-8的。如果数据量更大notepad++打不开,那只能通过脚本实现了。
创建测试数据表
create table tb1(id int,c1 int,c2 varchar(100),primary key(id))
通过tmp_series表生成并插入测试数据,测试数据的计算方法可以自由发挥。
mysql> insert into tb1 select id,round(rand()*100000),concat('testdatatestdatatestdata',id) from tmp_series;
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- Android之使用Http协议实现文件上传功能
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- 我是运营,我没有假期
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法