mysql 压力测试脚本
发布日期:2021-06-30 19:30:32
浏览次数:4
分类:技术文章
本文共 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月11日 01时46分01秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
AMM做市无常损失对冲分析系列(一)—— 损益及期权对冲模型构建
2019-04-30
JS中document对象和window对象有什么区别
2019-04-30
【python练习题】遍历1
2019-04-30
【matlab】显示图片且下方显示文字
2019-04-30
关于greater<int>以及类模板的一些理解
2019-04-30
对于时间复杂度的通俗理解
2019-04-30
如何输入多组数据并输出每组数据的和?
2019-04-30
基于CentOS 7的Linux常用命令行命令
2019-04-30
行阶梯型矩阵
2019-04-30
信号量机制
2019-04-30
临界资源与临界区
2019-04-30
matlab中uint8,double,im2double和im2uint8的区别
2019-04-30
数字图像处理总复习
2019-04-30
图像去噪(包含修正的阿尔法均值滤波及通用滤波方法代码)
2019-04-30
SVM进行人脸检测
2019-04-30
C++学习笔记
2019-04-30
图像处理学习笔记
2019-04-30
Machine Learning Onramp on MATLAB 学习笔记
2019-04-30
Machine Learning with MATLAB 1.1 to 2.2
2019-04-30
Learning DSP with MATLAB
2019-04-30