mysql壓力測(cè)試腳本實(shí)例
本文實(shí)例講述了mysql壓力測(cè)試的腳本,分享給大家供大家參考。具體如下:
創(chuàng)建表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 ;
創(chuàng)建表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 ;
工資級(jí)別表
(
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);
隨機(jī)產(chǎn)生字符串
定義一個(gè)新的命令結(jié)束符合
刪除自定的函數(shù)
這里我創(chuàng)建了一個(gè)函數(shù).
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);
隨機(jī)產(chǎn)生部門(mén)編號(hào)
drop function rand_num $$
這里我們又自定了一個(gè)函數(shù)
returns int(5)
begin
declare i int default 0;
set i = floor(10+rand()*500);
return i;
end $$
delimiter ;
select rand_num();
向emp表中插入記錄(海量的數(shù)據(jù))
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;
insert into emp values ((start+i) ,rand_string(6),'SALESMAN',0001,curdate(),2000,400,rand_num());
until i = max_num
end repeat;
commit;
end $$
delimiter ;
調(diào)用剛剛寫(xiě)好的函數(shù), 1800000條記錄,從100001號(hào)開(kāi)始
向dept表中插入記錄
drop procedure insert_dept $$
create procedure insert_dept(in start int(10),in max_num int(10))
begin
declare i int default 0;
set autocommit = 0;
repeat
set i = i + 1;
insert into dept values ((start+i) ,rand_string(10),rand_string(8));
until i = max_num
end repeat;
commit;
end $$
delimiter ;
call insert_dept(100,10);
向salgrade 表插入數(shù)據(jù)
drop procedure insert_salgrade $$
create procedure insert_salgrade(in start int(10),in max_num int(10))
begin
declare i int default 0;
set autocommit = 0;
ALTER TABLE emp DISABLE KEYS;
repeat
set i = i + 1;
insert into salgrade values ((start+i) ,(start+i),(start+i));
until i = max_num
end repeat;
commit;
end $$
delimiter ;
#測(cè)試不需要了
#call insert_salgrade(10000,1000000);
希望本文所述對(duì)大家的MySQL數(shù)據(jù)庫(kù)程序設(shè)計(jì)有所幫助。
相關(guān)文章
MySQL設(shè)置管理員密碼無(wú)法生效的問(wèn)題解析
這篇文章主要介紹了MySQL設(shè)置管理員密碼無(wú)法生效的問(wèn)題解析,一般在遇到?MySQL?問(wèn)題時(shí),建議對(duì)?MySQL?系統(tǒng)函數(shù)、數(shù)據(jù)庫(kù)內(nèi)部對(duì)象等進(jìn)行檢索而不是直接打印字符串,有時(shí)候可能對(duì)快速定位問(wèn)題原因有幫助,需要的朋友可以參考下2022-06-06MySQL中常用查看鎖和事務(wù)的SQL語(yǔ)句詳解
這篇文章主要介紹了MySQL中常用查看鎖和事務(wù)的SQL語(yǔ)句,用于查看鎖和事務(wù)的狀態(tài),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07MySQL之同表一個(gè)字段如何賦值給另一個(gè)字段
這篇文章主要介紹了MySQL之同表一個(gè)字段如何賦值給另一個(gè)字段問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07MySQL INNER JOIN 的底層實(shí)現(xiàn)原理分析
這篇文章主要介紹了MySQL INNER JOIN 的底層實(shí)現(xiàn)原理,INNER JOIN的工作分為篩選和連接兩個(gè)步驟,連接時(shí)可以使用多種算法,通過(guò)本文,我們深入了解了MySQL中INNER JOIN的底層實(shí)現(xiàn)原理,需要的朋友可以參考下2023-06-06Mysql數(shù)據(jù)庫(kù)中數(shù)字相減 出現(xiàn)負(fù)數(shù)時(shí)sql 語(yǔ)句報(bào)錯(cuò)的問(wèn)題
這篇文章主要介紹了Mysql數(shù)據(jù)庫(kù)中數(shù)字相減 出現(xiàn)負(fù)數(shù)時(shí)sql 語(yǔ)句報(bào)錯(cuò)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05史上最簡(jiǎn)單的MySQL數(shù)據(jù)備份與還原教程(下)(三十七)
這篇文章主要為大家詳細(xì)介紹了史上最簡(jiǎn)單的MySQL數(shù)據(jù)備份與還原教程下篇,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10阿里云配置MySQL-server?8.0遠(yuǎn)程登錄的實(shí)現(xiàn)
我們經(jīng)常會(huì)碰到需要遠(yuǎn)程訪問(wèn)數(shù)據(jù)庫(kù)的場(chǎng)景,本文主要介紹了阿里云配置MySQL-server?8.0遠(yuǎn)程登錄的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2023-08-08