标签:inno 打印 存储引擎 base --help 定制 cal for 清除
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
标签:inno 打印 存储引擎 base --help 定制 cal for 清除
原文地址:http://blog.51cto.com/13214087/2139318