test是mysql自带的_MySQL自带工具使用介绍

3) mysqldump:这个工具的功能就是将MySQL server中的数据以SQL语句的形式从数据库中dump成文本文件(一种备份工具,大量数据不推荐,因为恢复太慢)

4)mysqlbinlog:主要是分析MySQL server所产生的二进制文件

附加知识点:

1)INFORMATION_SCHEMA 数据字典,次数据库存储了其他所有数据库的信息(元数据)

元数据是关于数据的数据,如database name 或table name ,列的数据类型或访问权限等。

INFORMATION_SCHEMA库中的主要系统表

TABLES表:提供了关于关于数据库中的表和视图信息(table_schame字段代表 数据表所属的数据库名)

例:select * from information——schema.tables wehere table_schema='数据库'

COLUMNS表:提供了表中的列信息,详细表述了某张表的所有列以及每个列的信息。

select * from information_schema.columns where table_schema='数据库名' and table_name='表名'

TABLE_CONSTRAINTS表:存储主键约束,外键约束,唯一约束,check约束,各字段的说明信息。

select * from information_schema.table_constraints where table_schema='数据库名' and table_name='表明'

STAISTICS表:提供了关于表索引的信息

select * from information_schema.staistics wehere table_schema='数据库名' and table_name='表名'

2)performance_schema性能字典,此数据库为数据库性能优化提供了重要的参考信息

3)MySQL数据库:该数据库也是个核心数据库,存储用户的权限信息与帮助信息。

4)MySQL5.7 提供了sys系统数据库,sys数据库里面包含了一系列的存储过程,自定义函数以及视图来帮助我们快速的了解系统的元数据信息。sys系统数据库结合了information_schema和performance_schema的相关数据,让我们更加容易的检索元数据。

mysqlslap性能测试MySQL的存储引擎

mysqlslap是MySQL自带的基准测试工具,

优点:查询数据,语法简单,灵活容易使用,该工具可以模拟多个客户端同时并发的向服务器发出查询更新,给出性能测试数据,而且提供了多种引擎的性能比较,mysqlslap为mysql性能优化前后提供了直观的验证证据。

常用选项的解释:

--concurrency (-c) 代表并发数量,多个可以用逗号隔开。

--engins 代表要测试的引擎,可以有多个,用分号隔开

--iterations (-i) 代表要运行这些测试多少次,即运行多少次后,得到结果

--auto-generata-sql 代表系统自己生成的SQL脚本来测试

--auto-generate-sql-load-type:代表要测试的是读是写还是混合模式(read,write,updata,mixed)

--number-of-queries 代表总共要运行多少次查询。

--debug-info:代表要额外输出CPU以及内存的相关信息(注:只有在MySQL用--with-debug编译时即可)

--number-int-cols :代表测试表中的integer类型的属性有几个

--number-char-cols :代表测试表的char类型字段数量

--create-schema 代表自己定义的模式(在MySQL中也就是库即创建测试的数据库)

-query 代表自己SQL脚本

--only-print 如果只想打印看看SQL语句是什么,可以用这个选项

--csv=name 生产CSV格式数据文件

例子:用我们自己定义的SQL脚本或语句来测试

首先准备准备好要测试的数据库表

#!/bin/bash

HOSTNAME="localhost"

PORT="3306"

USERNAME="root"

PASSWORD="123456"

DBNAME="test1"

TABLENAME="tb1"

#create database

mysql -h ${HOSTNAME} -P ${PORT} -u ${USERNAME} -p${PASSWORD} -e "drop database if exists ${DBNAME}"

create_db_sql="create database if not exists ${DBNAME}"

mysql -h ${HOSTNAME} -P ${PORT} -p${PASSWORD} -u ${USERNAME} -e "${create_db_sql}"

#create table

create_table_sql="create table if not exists ${TABLENAME}(stuid int not null primary key,stuname varchar(20) not null,stusex char(1) not null,cardid carchar(20) not null,birthday datetime,entertime datetime,address varchar(100) default null)"

mysql -h ${HOSTNAME} -P{PORT} -p${PASSWORD} -u ${USERNAME} ${DBNAME} -e "${create_table_sql}"

#insert data to table

i=1

while [$i -le 20000]

do

insert_sql="insert into ${TABLENAME} values ($i,'zhangsan','1','1234567890','1995-09-09','2018-09-09','zhongguo','beijing','didu')"

mysql -h ${HOSTNAME} -u ${USERNAME} -P {PORT} -p${PASSWORD} ${DBNAME} -e "${insert_sql}"

let i++

done

#select data

select_sql="select count(*) from ${TABLENAME}"

mysql -h ${HOSTNAME} -P {PORT} -p${PASSWORD} -u ${USERNAME} ${DBNAME} -e "${select_sql}"

执行脚本生成mysqlslap工具需要的测试表

执行mysqlslap工具进行测试

mysqlslap --defaults-file=/etc/my.cnf --concurrency=10,20 --iterations=1 --create-schema='test' --query='select * from test.tb1' --engine=myisam,innodb --number-of-queries=2000 -uroot -p123456 -verbose

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值