灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2484回复:0

[mysql]mysql使用存储过程制造测试数据

楼主#
更多 发布于:2013-05-25 15:08
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秒.

喜欢0 评分0
游客

返回顶部