MySQL 生成随机测试数据

实验:

新建测试表

CREATE DATABASE IF NOT EXISTS test;

CREATE TABLE `test`.`t3` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `tcol01` tinyint(4) DEFAULT NULL,
  `tcol02` smallint(6) DEFAULT NULL,
  `tcol03` mediumint(9) DEFAULT NULL,
  `tcol04` int(11) DEFAULT NULL,
  `tcol05` bigint(20) DEFAULT NULL,
  `tcol06` float DEFAULT NULL,
  `tcol07` double DEFAULT NULL,
  `tcol08` decimal(10,2) DEFAULT NULL,
  `tcol09` date DEFAULT NULL,
  `tcol10` datetime DEFAULT NULL,
  `tcol11` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `tcol12` time DEFAULT NULL,
  `tcol13` year(4) DEFAULT NULL,
  `tcol14` varchar(100) DEFAULT NULL,
  `tcol15` char(2) DEFAULT NULL,
  `tcol16` blob,
  `tcol17` text,
  `tcol18` mediumtext,
  `tcol19` mediumblob,
  `tcol20` longblob,
  `tcol21` longtext,
  `tcol22` mediumtext,
  `tcol23` varchar(3) DEFAULT NULL,
  `tcol24` varbinary(10) DEFAULT NULL,
  `tcol25` enum('a','b','c') DEFAULT NULL,
  `tcol26` set('red','green','blue') DEFAULT NULL,
  `tcol27` float(5,3) DEFAULT NULL,
  `tcol28` double(4,2) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB;

下载测试数据生成工具:

[root@db src]# mwget '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'

[root@db src]# tar zxf mysql_random_data_load_0.1.12_Linux_x86_64.tar.gz

下面来小测一把:8核16G的服务器 差不多3分钟样子还行吧

[root@db src]# ./mysql_random_data_load -h192.168.3.3 -uroot -p112233 -P 3301 --max-threads=8 test t3 100000
INFO[2020-04-17T18:12:01+08:00] Starting                                     
 3m1s [====================================================================] 100%
INFO[2020-04-17T18:15:05+08:00] 100000 rows inserted                         

  

结论:

mysql_random_load_data 有实际需要也还是可以的,同时这个工具也支持根据外键引用关系,生成外键的相关数据。

具体可参看:https://github.com/Percona-Lab/mysql_random_data_load

猜你喜欢

转载自www.cnblogs.com/Camiluo/p/12721702.html
今日推荐