mysql使用存儲過程制造測試數據
[sql]
DELIMITER $$
DROP PROCEDURE IF EXISTS message_insert_procedure;
CREATE PROCEDURE `test`.`message_insert_procedure` ( loop_times INT)
BEGIN
DECLARE var INT DEFAULT 0;
WHILE var<loop_times DO
SET var=var+1;
INSERT INTO test.message (msg_id,content,type,creator_id,create_time)
VALUES (var,CONCAT(var,' - ','粽子--五月端午是我生辰到,身穿著一領綠羅襖,小腳兒裹得尖尖嬌。解開香羅帶,剝得赤條條。插上一根銷兒也,把奴渾身上下來咬。'),0,10013,now());
END WHILE;
END
上面是代碼:
說明:test是我的數據庫,message是我的表,還有,今天心情一點都不好.
調用的時候請用下面:
[html]
use test;
delete from message;
call message_insert_procedure(10000000);
中間的一句 delete from message ; 如果你用的是workbench這類的軟件,這句話是報錯的,請在workbench的performance的sql queries 選項內,把 General子項下面的 "Safe Updates" 鉤掉 , 然後 reconnect 一下就完事了.
數據測試:Ubuntu 12.10 下mysql ,數據測是1000W條 548秒.