• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > mysql压力测试脚本实例

mysql压力测试脚本实例

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了mysql 压力测试,mysql压力测试工具,mysql多实例启动脚本,mysql执行sql脚本,mysql数据库备份脚本等相关知识,希望本文的分享对您有所帮助

本文实例讲述了mysql压力测试的脚本,分享给大家供大家参考。具体如下:

创建表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 ;</div>
 
创建表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 ;</div>

工资级别表
(
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);</div>

随机产生字符串
定义一个新的命令结束符合
删除自定的函数
这里我创建了一个函数.
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);</div>
随机产生部门编号
drop  function rand_num $$</div>
这里我们又自定了一个函数
returns int(5)
begin
 declare i int default 0;
 set i = floor(10+rand()*500);
return i;
  end $$

delimiter ;
select rand_num();</div>

向emp表中插入记录(海量的数据)
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 ;</div>

调用刚刚写好的函数, 1800000条记录,从100001号开始

向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);</div>

向salgrade 表插入数据
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 ;
#测试不需要了
#call insert_salgrade(10000,1000000);</div>

希望本文所述对大家的MySQL数据库程序设计有所帮助。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Mysqlslap MySQL压力测试工具 简单教程
  • mysql压力测试脚本实例

相关文章

  • 2018-12-05oracle执行cmd的实现方法
  • 2018-12-05从内部开始来认识Oracle数据库的结构组件
  • 2017-05-11MySQL 数据类型和建库策略
  • 2018-12-05sql数据库语句优化分析和优化技巧总结(sql优化工具)
  • 2018-12-05mysql聚集索引的有哪些缺点
  • 2018-12-05pt-table-checksum校验与pt-table-sync修复数据
  • 2018-12-05PDO连接数据库及DSN详解
  • 2017-05-11innodb存储引擎修改表共享空间为独立空间
  • 2018-12-05mysql中关于alter命令的使用详解
  • 2018-12-05php中如何将图片储存在数据库里

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • sql 触发器使用例子
    • SqlServer 2005/2008数据库被标记为“可疑”的解决办法
    • 安装mysql服务启动失败的原因
    • mysqlsla慢查询分析工具使用笔记
    • mysql的replace into实例详解
    • select语句逻辑执行顺序 你知道吗
    • 数据库Oracle数据的异地的自动备份
    • mysql常用基础操作语法(十二)~~常用数值函数【命令行模式】
    • MySQL DELETE语法使用详细解析
    • Mysql系列(三)数据库特性

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有