目录
1 查询或者是插入执行的次数,慢查询执行的次数,设置慢查询的时间
1) 造400万的数据测试数据
2) 启动慢查询日志的步骤
1 查询或者是插入执行的次数,慢查询执行的次数,设置慢查询的时间
通过show status命令了解各种SQL的执行频率可以进一步判断使用什么存储引擎
|
show status like ‘uptime’;
|
可以查询mysql 执行了多长时间
|
show status like ‘com_select’ 执行查询的次数(在前面加一个com)
show status like ‘com_insert’ 执行插入的次数 ..类推 update delete
|
可以知道当前已经执行了多少次的查询,插入,删除,更新等等操作;就可以判断出来哪一种语句用的比较多,就可以判断出来用哪一种存储引擎比较好
|
Show [session ]or [global] status like ‘xxx’
|
在status 前面可以添加两种参数session表示的当前查询窗口的状态的统计,global 是全体窗口的状态的统计
Show [session ]or [global] status like ‘com_insert’
Show [session ]or [global] status like ‘com_select’
|
show status like 'connections';
|
/可以查出来有多少个连接在连我的电脑的mysql 如果想看是到底是谁连接我的mysql 的话,可以在cmd 中 netstat-n 外部地址代表的是访问我数据库的端口不一定是3306 有可能是apache 或者是其他的服务
|
show status like 'slow_queries'; mysql默认是10s
|
显示慢查询的操作次数
默认情况下,mysql认为10秒才是一个慢查询(通常情况下只有在数据超过4000万的时候才有可能查询超过10s,所以只能是通过修改慢查询的条件,当超过1s 就算是慢查询了)
|
show variables like 'long_query_time' ;
|
可以显示当前慢查询时间
|
set long_query_time=0.5 ;
|
可以修改慢查询时间 只要是时间超过0.5秒就算是慢查询
|
1) 造400万的数据测试数据
create function rand_num( )
returns int(5)
begin
declare i int default 0;
set i = floor(10+rand()*500);
return i;
end
#随即添加雇员[光标] 400w
#start 表示雇员的编号从哪里开始
#max_num 表示一共增加多少雇员
create procedure insert_emp(in start int(10),in max_num int(10))
begin
declare i int default 0;
#set autocommit =0 把autocommit设置成0
set autocommit = 0; #设置为0 就是不提交,最后一起提交
repeat
set i = i + 1;
insert into emp values ((start+i) ,rand_string(6),'SALESMAN',0001, CURRENT_DATE(),2000,400,rand_num());
until i = max_num
end repeat;
commit;#最后一起提交
end
call insert_emp(100001,4000000) 这样的话数据量就会达到400万了
//可以试着查询一次看看时间的长短
select * from emp where empno = 789632

//查看慢查询的次数
show status like 'slow_queries';

可以知道慢查询时间上超过0.5秒的为3次
2) 启动慢查询日志的步骤
启动慢查询日志的全步骤

启动慢查询日志
先把mysql 的服务关闭

关闭掉以后

查看慢查询日志的目录
C:/ProgramData/MySQL/MySQL Server 5.5/Data/

这个时候进入到mysql 的安装路径的bin 目录下启动mysqld.exe,开始的时候一定要保证mysql 服务是停止的
mysqld.exe --safe-mode --slow-query-log [mysql5.5 可以在my.ini指定]

set long_query_time=0.5;
select * from emp where empno = 789632
show status like 'slow_queries';查询了以后可以在C:/ProgramData/MySQL/MySQL Server 5.5/Data/路径下
查看慢查询日志情况
在慢查询日志的目录下会生成

如果不小心把PC-20180227CJKB.pid 文件删除了,就

就到进程管理器中把这个删除了就可以了,然后再重新启动mysqld.exe --safe-mode --slow-query-log就可以了
这个时候启动mysql 服务器
所有的慢查询日志的设置恢复到原来,所以要重新设置
set long_query_time=0.5;
select * from emp where empno = 789632
show status like 'slow_queries';查询了以后可以在C:/ProgramData/MySQL/MySQL Server 5.5/Data/路径下
查看慢查询日志情况 |