首页 > 数据库技术 > 详细

随机生成mysql测试表大量数据

时间:2017-02-26 17:37:06      阅读:340      评论:0      收藏:0      [点我收藏+]

有时候为了测试mysql性能,需要生产一张上万,百万,千万的表,有如下方法可实现

 

 SET GLOBAL log_bin_trust_function_creators = 1;

create function rn()
returns smallint
begin
declare res smallint default 0;
set res=floor(1+rand()*3000) ; #这里1和3000的位置可以更改为你需要的范围。
return res;
end




create function rs(n int)
returns varchar(1024)
begin
declare chars char(52) default ‘abcdefghijklmnopqrstuvwxyzABCDEFJHIJKLMNOPQRSTUVWXYZ‘;
declare res varchar(1024) default ‘‘;
declare i int default 0;
repeat
set i = i + 1;
set res = concat(res,substring(chars,floor(1+rand()*52),1));
until i=n end repeat;
return res;
end


create procedure inst(n int)
begin
declare i int default 0;
set autocommit = 0;
repeat
set i = i + 1;
insert into jc_user_kw (user_id,kw_name,kw_price) values(10,rs(10),rn()); -----jc_user_kw 为表名,其他为列名
until i=n  end repeat;
commit;
set autocommit = 1;
end

call inst(10000)

随机生成mysql测试表大量数据

原文:http://www.cnblogs.com/tmdba/p/6444855.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!