表结构:
首先创建一个生成随机字符串的函数
DELIMITER //
CREATE FUNCTION rand_string(n INT)
RETURNS VARCHAR(255)
BEGIN
DECLARE chars_str VARCHAR(60) DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
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 //
创建插入9999条数据的存储过程
DELIMITER //
CREATE PROCEDURE insert_test()
BEGIN
SET @a=9999;
WHILE @a>0 DO
SET @b=rand_string(10);
SET @c=RAND() * 10000;
INSERT INTO insert_test(bigint_test, varchar_test, datetime_test, double_test)
VALUES(@a, @b, NOW(), @c);
SET @a=@a-1;
END WHILE;
END //
DELIMITER ;
运行存储过程:
CALL insert_test();
我的电脑win8专业版,2.1G双核,3G内存。耗时:463.836s。不够理想!