本文实例讲述了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;

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))

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 表插入数据

代码如下:

delimiter $$

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);

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

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

mysql 雇员表脚本,mysql压力测试脚本实例_MySQL相关推荐

  1. MySQL数据库自带基准压力测试工具MySQLSlap使用探索

    一.介绍 mysqlslap是MySQL5.1.4之后自带的benchmark基准测试工具,可以生成schema,装载数据,执行benckmark和查询数据,语法简单,灵活,容易使用. 该工具可以模拟 ...

  2. mysql远程压力测试_mysql压力测试脚本实例

    本文实例讲述了mysql压力测试的脚本,分享给大家供大家参考.具体如下: 创建表dept create table dept( /*部门表*/ deptno mediumint   unsigned  ...

  3. mysql 压力测试知乎_MySQL 对于千万级的大表要怎么优化? - MySQL

    很多人第一反应是各种切分:我给的顺序是: 第一优化你的sql和索引: 第二加缓存,memcached,redis: 第三以上都做了后,还是慢,就做主从复制或主主复制,读写分离,可以在应用层做,效率高, ...

  4. (转)MySQL自带的性能压力测试工具mysqlslap详解

    mysqlslap 是 Mysql 自带的压力测试工具,可以模拟出大量客户端同时操作数据库的情况,通过结果信息来了解数据库的性能状况 mysqlslap 的一个主要工作场景就是对数据库服务器做基准测试 ...

  5. mysql 压力测试知乎_MySQL查看SQL语句执行效率和mysql几种性能测试的工具

    网络中整理,记录下,朋友们应该用得到! Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看 SQL 语句的执行效 果,可以帮 ...

  6. MySQL自带的性能压力测试工具mysqlslap详解

    使用语法如下: # mysqlslap [options] 常用参数 [options] 详细说明: --auto-generate-sql, -a 自动生成测试表和数据,表示用mysqlslap工具 ...

  7. mysql 压力测试知乎_MySQL性能基准测试对比:MySQL 5.7与MySQL 8.0

    版权声明:本文由腾讯云数据库产品团队整理,页面原始内容来自于db weekly英文官网,若转载请注明出处.翻译目的在于传递更多全球最新数据库领域相关信息,并不意味着腾讯云数据库产品团队赞同其观点或证实 ...

  8. loadrunner简单使用——HTTP,WebService,Socket压力测试脚本编写

    先说明一下,本人是开发,对测试不是特别熟悉,但因工作的需要,也做过一些性能测试方面的东西.比较久之前很简单的用过,最近又用到了,熟悉一下.现做一个总结. 使用loadrunner进行压力测试主要分两步 ...

  9. ab压力测试php脚本,ab压力测试工具-批量压测脚本

    ab(Apache benchmark)是一款经常使用的压力测试工具.简单易用,ab的命令行一次只能支持一次测试.若是想要批量执行不一样的测试方式,并自动对指标进行分析,那么单靠手工一条一条命令运行a ...

最新文章

  1. layui时间怎么设置年月日时分秒_layui-laydate时间日历控件使用方法详解
  2. python爬虫提取教学_python爬虫的基本抓取
  3. Windows Pe 第三章 PE头文件(中)
  4. 前端JavaScripts基础知识点轮播图
  5. 开源分享 Unity3d客户端与C#分布式服务端游戏框架
  6. DirectX API 编程起步 #01 项目设置
  7. php 什么时候传引用,什么时候在PHP中使用传递引用?
  8. 集散型计算机控制系统的缺点,什么是集散控制系统?有什么特点?
  9. iOS蓝牙原生封装,助力智能硬件开发
  10. python+selenium自动化测试-Windows环境搭建
  11. Spyder python 多行注释快捷键
  12. PPT插入文本框的方法技巧
  13. c 语言万年历 节日查询,C语言 程序设计 节日查询和任务提醒系统万年历.doc
  14. HC74h595 串行输出再进行串口输出(串行通信嵌套)已测试成功。
  15. 定时任务的多种实现——xxl-job
  16. Android双屏异显以及原理分析
  17. git工具的使用 、gitlab 服务器的搭建、Jenkins服务的搭建
  18. 2014年中南大学复试-安全路径
  19. 开源美狐美颜SDK功能代码分析
  20. 硬件工程师--医疗器械

热门文章

  1. Cloud for Customer UI上点了checkbox后发送到后台的事件
  2. how does gateway framework treat default system flag in customizing
  3. php自动计数,PHP 实现精确统计在线人数功能
  4. 怎么实现阵列装配_第九篇:磁盘阵列和群晖SHR
  5. 从零开始学计算机组装与维修技术,从新手到高手:电脑组装、维护与故障排除...
  6. spss数据预处理步骤_数据处理之剔除无效问卷
  7. postgresql参数化查询_一个能融会贯通PostgreSQL监控的人,大概率是高手
  8. java抽样器处于非活动状态_Codename One中的按钮在Android实际设备上处于非活动状态,但在模拟器下工作...
  9. java开发简介_Java Web开发介绍
  10. Linux如何在栈上分配内存,Java堆与栈内存分配及String小记