mysql压力测试脚本实例.doc
文本预览下载声明
mysql压力测试脚本实例
本文实例讲述了mysql压力测试的脚本,分享给大家供大家参考。具体如下:
创建表DEPT
复制代码 代码如下:CREATE TABLE dept( /*部门表*/
deptno MEDIUMINT UNSIGNED NOT NULL DEFAULT 0,
dname VARCHAR(20) NOT NULL DEFAULT ,
loc VARCHAR(13) NOT NULL DEFAULT
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
创建表EMP雇员
复制代码 代码如下:CREATE TABLE emp
(empno MEDIUMINT UNSIGNED NOT NULL DEFAULT 0,
ename VARCHAR(20) NOT NULL DEFAULT ,
job VARCHAR(9) NOT NULL DEFAULT ,
mgr MEDIUMINT UNSIGNED NOT NULL DEFAULT 0,
hiredate DATE NOT NULL,
sal DECIMAL(7,2) NOT NULL,
comm DECIMAL(7,2) NOT NULL,
deptno MEDIUMINT UNSIGNED NOT NULL DEFAULT 0
)ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
工资级别表
复制代码 代码如下:CREATE TABLE salgrade
(
grade MEDIUMINT UNSIGNED NOT NULL DEFAULT 0,
losal DECIMAL(17,2) NOT NULL,
hisal DECIMAL(17,2) NOT NULL
)ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO salgrade VALUES (1,700,1200);
INSERT INTO salgrade VALUES (2,1201,1400);
INSERT INTO salgrade VALUES (3,1401,2000);
INSERT INTO salgrade VALUES (4,2001,3000);
INSERT INTO salgrade VALUES (5,3001,9999);
随机产生字符串
定义一个新的命令结束符合
复制代码 代码如下:delimiter $$
删除自定的函数
复制代码 代码如下:drop function rand_string $$
这里我创建了一个函数.
复制代码 代码如下:create function rand_string(n INT)
returns varchar(255)
begin
declare chars_str varchar(100) default
abcdefghijklmnopqrstuvwxyzABCDEFJHIJKLMNOPQRSTUVWXYZ;
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 $$
delimiter ;
select rand_string(6);
随机产生部门编号
复制代码 代码如下:delimiter $$
drop function rand_num $$
这里我们又自定了一个函数
复制代码 代码如下:create function rand_num( )
returns int(5)
begin
declare i int default 0;
set i = floor(10+rand()*500);
return i;
end $$
delimiter ;
select rand_num();
向emp表中插入记录(海量的数据)
复制代码 代码如下:delimiter $$
drop procedure insert_emp $$
create procedure insert_emp(in start int(10),in max_num int(10))
begin
declare i int default 0;
set autocommit = 0;
repeat
set i = i + 1;
inse
显示全部