MySQL之慢查询

慢查询:

show status  显示系统状态参数

1. 查询慢查询是否开启:

show global variables like '%slow_query%';

slow_query_log 为OFF  表示没有开启,mysql默认是没有开启慢查询日志记录功能的

set global slow_query_log=1 开启慢查询日志记录

慢查询比较影响性能,生产不能一直开着。

 

2. 查看慢查询时间

show variables like 'long_query_time'; 默认为10秒钟,意识是大于10s才算慢查询

3. 修改慢查询记录的时间

set long_query_time=1; 设置时间为1s

4. 记录慢查询日志的次数

show status like 'slow_queries';

日志位置 默认在 /var/lib/mysql  下  xx-slow.log

SHOW VARIABLES LIKE 'slow_query%'; 可以查看位置,

SET GLOBAL  slow_query_log_file =  "/data/mysqlslowlog/slowquery_20200106.log" 设置文件位置

我的为VM_52_147_centos-slow.log

More xx.log查看日志

 

慢查询日志分析工具Mysqldumpslow

mysqldumpslow --help  查看帮助信息 或者man mysqldumpslow

-s:排序

t:查询时间

c:访问次数

l:锁定定时

r:返回的记录

-g:后边可以跟正则表达式,用于过滤

-t NUM :显示的条数

 

使用案例:

1. 取出耗时最长的前2条sql

cd /var/lib/mysql 进入日志目录

mysqldumpslow -s t -t 2 xx-slow.log

 

2. –g从结果中过滤-g后面的正则表达式的内容

mysqldumpslow -s t -t 2 -g 'exists' xx-slow.log

 

show profile :用于分析当前会话中语句执行的资源消耗情况

1.查看是否开启profile

show variables like ' profiling';

2.开启profile

set profiling=1; 或者 set profiling=ON;

3.关闭profile

set profiling=0; 或者 set profiling=OFF;

4.显示当前执行的语句和时间

show profiles;

5. 显示当前查询语句执行的时间和系统资源消耗

show profile cpu,block io for query 4;(4是上面语句的ID)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值