MySql之慢查询

1.顾名思义,慢查询日志中记录的是执行时间较长的query,也就是我们常说的slow query。
慢查询日志采用的是简单的文本格式,可以通过各种文本编辑器查看其中的内容。其中记录了语句执行的时刻,执行所消耗的时间,执行用户,连接主机等相关信息,用来帮助数据库管理人员解决可能存在的性能问题。
首先修改my.ini开启慢查询,设置好慢查询时间和日志

slow-query-log=1#开启慢查询
slow_query_log_file=D:\Program Files\mysql-5.6.23-winx64\data\slow_query_log.txt#日志文件绝对路径
long_query_time=1#慢查询时间默认为10s,这里改为1s

然后重启mysql服务,在mysql终端运行如下命令

show variables like '%quer%';#查看mysql的相关设置

可以看到慢查询开启,同时日志路径已经配置

这里写图片描述

接下来进行测试,首先用存储过程建立一个4000000条数据的表,

这里写图片描述

这里写图片描述
可以看出共有四次慢查询

这里写图片描述

同时也可以到日志文件中去查看

MySQL, Version: 5.6.23-log (MySQL Community Server (GPL)). started with:
TCP Port: 0, Named Pipe: (null)
Time                 Id Command    Argument
# Time: 150901 14:40:14
# User@Host: root[root] @ localhost [::1]  Id:     4
# Query_time: 5.444311  Lock_time: 0.019001 Rows_sent: 1  Rows_examined: 4000000
use temp;
SET timestamp=1441089614;
select * from emp where empno='3456745';
# Time: 150901 15:00:32
# User@Host: root[root] @ localhost [::1]  Id:     4
# Query_time: 1.515087  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 4000000
SET timestamp=1441090832;
select * from emp where empno='3456745';
# Time: 150901 15:00:49
# User@Host: root[root] @ localhost [::1]  Id:     4
# Query_time: 1.510086  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 4000000
SET timestamp=1441090849;
select * from emp where empno='3456743';
# Time: 150901 15:01:09
# User@Host: root[root] @ localhost [::1]  Id:     4
# Query_time: 1.538088  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 4000000
SET timestamp=1441090869;
select * from emp where empno='3466666';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值