mysql 压力测试脚本
发布日期:2021-06-30 19:30:32
浏览次数:5
分类:技术文章
本文共 3021 字,大约阅读时间需要 10 分钟。
#创建表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))
begindeclare 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 ;#调用刚刚写好的函数, 1800000条记录,从100001号开始call insert_emp(100001,1800000); #**************************************************************# 向dept表中插入记录delimiter $$
drop procedure insert_dept $$ create procedure insert_dept(in start int(10),in max_num int(10))begindeclare 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 表插入数据delimiter $$drop procedure insert_salgrade $$create procedure insert_salgrade(in start int(10),in max_num int(10))begindeclare 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 ;#测试不需要了#call insert_salgrade(10000,1000000);
#----------------------------------------------
转载地址:https://linuxstyle.blog.csdn.net/article/details/7408331 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
很好
[***.229.124.182]2024年04月28日 01时50分36秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【学习笔记】对vanilla的一些个人理解
2019-04-30
【解决错误】The size of tensor a (8) must match the size of tensor b (64) at non-singleton dimension 1
2019-04-30
word文档中实现目录索引中标题加粗,前导符和页码不加粗
2019-04-30
“学硕” VS “专硕”
2019-04-30
【NLP学习笔记】知识图谱阅读笔记及其心得
2019-04-30
【工具使用】新版CSDN-markdown编辑器使用指南
2019-04-30
《知识图谱》阅读笔记(六)
2019-04-30
【NLP学习笔记】中文分词(Word Segmentation,WS)
2019-04-30
【NLP学习笔记】词性标注(Part-of-speech Tagging, POS)
2019-04-30
《知识图谱》阅读笔记(七)
2019-04-30
《知识图谱》阅读笔记(九)
2019-04-30
【超越白皮书7】你需要知道关于ETH2.0的几个事实
2019-04-30
超越白皮书8:穿云而过的闪电网络
2019-04-30
AMM做市无常损失对冲分析系列(一)—— 损益及期权对冲模型构建
2019-04-30
JS中document对象和window对象有什么区别
2019-04-30
【python练习题】遍历1
2019-04-30
【matlab】显示图片且下方显示文字
2019-04-30