MySQL如何快速创建大量随机数据进行性能测试

教程发布:风哥 教程分类:ITPUX技术网 更新日期:2022-02-12 浏览学习:347

MySQL如何快速创建大量随机数据进行性能测试

思路:创建procedure,然后使用循环,不停insert数据。例如:
create procedure inst(n int)
begin
declare i int default 0;
set autocommit = 0;
repeat
set i = i + 1;
insert into xxx values(....);
until i=n end repeat;
commit;
set autocommit = 1;
end/

当然,这样太死了,全部是固定数据,我们可以来创建function来返回些随机数据:
随机产生数字,范围1~3000(范围可以随意设定,我自身举个列子)
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/
创建完这些function后,我们就可以使用rn()和rs(n)来获取数据数据并insert入测试表了,例如:

create procedure inst(n int)
begin
declare i int default 0;
set autocommit = 0;
repeat
set i = i + 1;
insert into xxx values(rn(),rs(12),rs(7),....);
until i=n end repeat;
commit;
set autocommit = 1;
end/

本文标签:
网站声明:本文由风哥整理发布,转载请保留此段声明,本站所有内容将不对其使用后果做任何承诺,请读者谨慎使用!
【上一篇】
【下一篇】