Maison > Article > base de données > Comment MySQL génère automatiquement de grandes quantités de données
mysql génère automatiquement une grande quantité de données
Afin d'apprendre et de vérifier MySQL hautes performances, une grande quantité de données est automatiquement générée pour les tests. Le contenu provient d'Internet.
Recommandé : "Tutoriel vidéo MySQL"
Créer une génération de nombres aléatoires
DELIMITER $$ CREATE DEFINER=`root`@`%` FUNCTION `random_num`( ) RETURNS int(5) BEGIN DECLARE i INT DEFAULT 0; SET i = FLOOR(100+RAND()*10); RETURN i; END$$ DELIMITER ;
Générer une chaîne aléatoire
DELIMITER $$ CREATE DEFINER=`root`@`%` FUNCTION `random_string`(n INT) RETURNS varchar(255) CHARSET latin1 BEGIN 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,FLOOR(1+RAND()*52),1)); SET i = i + 1; END WHILE; RETURN return_str; END$$ DELIMITER ;
Générer un nombre aléatoire, renvoie une combinaison de données de type varchar, telle que le numéro de téléphone portable
DELIMITER $$ CREATE DEFINER=`root`@`%` FUNCTION `random_string_phone`(n INT) RETURNS varchar(255) CHARSET latin1 BEGIN DECLARE chars_str VARCHAR(100) DEFAULT '1234567890'; DECLARE return_str VARCHAR(255) DEFAULT ''; DECLARE i INT DEFAULT 0; WHILE i < n DO SET return_str =CONCAT(return_str,SUBSTRING(chars_str,FLOOR(1+RAND()*10),1)); SET i = i + 1; END WHILE; RETURN return_str; END$$ DELIMITER ;
Créer un moteur myisam de table utilisateur
CREATE TABLE `sys_user_myisam` ( `user_id` bigint(100) NOT NULL AUTO_INCREMENT, `username` varchar(100) DEFAULT NULL COMMENT '用户名', `password` varchar(100) DEFAULT NULL COMMENT '密码', `salt` varchar(100) DEFAULT NULL COMMENT '盐', `email` varchar(100) DEFAULT NULL COMMENT '邮箱', `mobile` varchar(100) DEFAULT NULL COMMENT '手机号', `status` int(1) DEFAULT '1' COMMENT '状态 0:禁用 1:正常', PRIMARY KEY (`user_id`) ) ENGINE=MyISAM AUTO_INCREMENT=1000001 DEFAULT CHARSET=utf8 COMMENT='系统用户MyISAM';
Créer une procédure stockée pour générer des données
DELIMITER $$ CREATE DEFINER=`root`@`%` PROCEDURE `insert_sys_user_myisam`(IN START INT(10),IN max_num INT(10)) BEGIN DECLARE i INT DEFAULT 0; SET autocommit = 0; REPEAT SET i = i + 1; INSERT INTO sys_user_myisam (user_id,username,password,salt,email,mobile,status) VALUES (START+i,random_string(10),random_string(6),random_string(10),random_string(20),random_string_phone(12),1); UNTIL i = max_num END REPEAT; COMMIT; END$$ DELIMITER ;
Créer un moteur innodb de table
create table sys_user_innodb ENGINE=MyISAM AUTO_INCREMENT=1000001 DEFAULT CHARSET=utf8 as select * from sys_user_myisam;
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!