MySQL generado automáticamente grandes cantidades de datos

Para aprender verificar MySQL de alto rendimiento, grandes cantidades generadas de forma automática de datos para hacer la prueba. Contenido de la red.

Crear Generación de números aleatorios
DELIMITER $$
CREATE DEFINER root` = `@`% `` random_num` la función () los rendimientos int (5.)
El inicio 
 del DECLARE la DEFAULT la INT 0 I; 
 el SET I = la planta (100 + el RAND () * 10); 
el RETURN I; 
 el FIN $$
DELIMITER;

生成随机字符串
DELIMITER $$
CREATE DEFINER = `root` @` `% función` random_string` (n INT) VUELVE varchar (255) CHARSET Latin1
EMPEZAR
 DECLARE chars_str VARCHAR (100) DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFJHIJKLMNOPQRSTUVWXYZ';
 DECLARE return_str VARCHAR (255) DEFAULT '';
 DECLARE i INT DEFAULT 0;
 WHILE i <n DO
 SET return_str = CONCAT (return_str, SUBSTRING (chars_str, piso (1 + RAND () * 52), 1));
 SET i = i + 1;
 Mientras que el extremo;
 Return_str RETURN;
FIN $$
DELIMITER;

La generación de un número aleatorio, composiciones varchar retorno de tipo de datos, por ejemplo, número de teléfono
DELIMITER $$
CREATE DEFINER root` = `@`% `` random_string_phone` la función (n-INT) la varchar devuelve (255) el juego de caracteres latin1
la COMENZAR
 la chars_str DECLARE VARCHAR (100) el DEFAULT ' 1234567890 ';
 la DECLARE return_str VARCHAR (255) el DEFAULT' ';
 la DECLARE I el INT DEFAULT 0;
 el WHILE I <n-la DO
 el SET return_str = CONCAT (return_str, la subcadena (chars_str, el piso (1 + el RAND () * 10) ,. 1).);
 i = i + 1 el SET;.
 al final, el tiempo;
 la return_str RETURN;
el FIN $$
DELIMITER;

Crear un motor de tabla de usuario myisam
del CREATE TABLE `sys_user_myisam` (
  ` user_id` bigint (100) NOT NULL AUTO_INCREMENT,
  `username` VARCHAR (100) NULL el predeterminado El COMENTARIO 'nombre de usuario',
  ` password` VARCHAR (100) NULL el predeterminado El 'contraseña' COMENTARIO ,
  `salt` VARCHAR (100) del mensaje Este DEFAULT NULL 'sal',
  ` email` VARCHAR (100) del mensaje Este DEFAULT NULL buzon ',
  `mobile` VARCHAR (100) del mensaje Este DEFAULT NULL 'número de teléfono',
  ` int status` (. 1 ) DEFAULT '1' comentario 'estado 0: desactivado 1: normal',
  ( `user_id`) un PRIMARY KEY
) ENGINE = MyISAM AUTO_INCREMENT la DEFAULT el CHARSET = 1000001 = UTF8 la COMENTARIO = 'usuario MyISAM';

创建存储过程生成数据
DELIMITER $$
CREATE DEFINER = `root` @`% `` PROCEDIMIENTO insert_sys_user_myisam` (IN START INT (10), IN MAX_NUM INT (10))
EMPEZAR 
DECLARE i INT DEFAULT 0; 
 SET confirmación automática = 0;   
 REPEAT 
 SET i = i + 1; 
 Sys_user_myisam INSERT INTO (user_id, nombre de usuario, contraseña, sal, correo electrónico, móvil, de estado) VALORES (start + i, random_string (10), random_string (6), random_string (10), random_string (20), random_string_phone (12), 1 ); 
 HASTA i = MAX_NUM 
 final de repetición; 
 COMETER; 
 FIN $$
DELIMITER;

创建表innodb引擎
crear la tabla sys_user_innodb ENGINE = MyISAM AUTO_INCREMENT = 1000001 DEFAULT charset = UTF-8 como seleccionar * de sys_user_myisam;

Supongo que te gusta

Origin www.linuxidc.com/Linux/2020-03/162664.htm
Recomendado
Clasificación