SQL的执行频率和windows 慢查询日志的查看

目录

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/路径下
查看慢查询日志情况

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值