MySql之慢查询日志及其分析

慢查询

什么是慢查询日志?

慢查询日志,顾名思义,就是查询慢的日志,是指mysql记录所有执行超过long_query_time参数设定的时间阈值的SQL语句的日志。该日志能为SQL语句的优化带来很好的帮助。默认情况下,慢查询日志是关闭的,要使用慢查询日志功能,首先要开启慢查询日志功能。

启动慢查询日志

常用的配置

  • slow_query_log 启动停止技术慢查询日志文件
  • slow_query_log_file指定慢查询日志得存储路径及文件(默认和数据文件放一起)
  • long_query_time指定记录慢查询日志SQL执行时间得伐值(单位:秒,默认10秒
  • log_queries_not_using_indexes 是否记录未使用索引的SQL log_output 日志存放的地方【TABLE】【FILE】【FILE,TABLE】

配置了慢查询后,它会记录符合条件的SQL
包括:

  • 查询语句
  • 数据修改语句
  • 已经回滚得SQL

使用实例
查看配置:

-- 慢查询日志是否开启
show VARIABLES like '%slow_query_log%'
-- 日志的存放路径
show VARIABLES like '%slow_query_log_file%'
-- 慢查询日志SQL执行时间得阈值
show VARIABLES like '%long_query_time%'
-- 是否记录未使用索引的SQL
show VARIABLES like '%log_queries_not_using_indexes%'
-- 日志记录的位置【file/table】
show VARIABLES like '%log_out%'

设置:

---默认10秒
set GLOBAL long_query_time=10;
-- 记录未使用索引的SQL
set GLOBAL log_queries_not_using_indexes=1;
--开启慢查询日志 1-on, 0-off
set GLOBAL slow_query_log=1;
--项目开发中日志只能记录在日志文件中,不能记表中
set GLOBAL log_output='FILE,TABLE'  

测试:
执行sql语句:select * from myarchive limit 0,1000;在slow_query_log_file的路径下会生成一个xxx-slow.log
的文件 其内容如下:
在这里插入图片描述
第一行:用户名 、用户的IP信息、线程ID号
第二行:执行花费的时间【单位:毫秒】
第三行:执行获得锁的时间
第四行:获得的结果行数
第五行:扫描的数据行数
第六行:这SQL执行的具体时间
第七行:具体的SQL语句

慢查询日志分析工具

慢查询的日志记录非常多,要从里面找寻一条查询慢的日志并不是很容易的事情,一般来说都需要一些工具辅助才能快速定位到需要优化的SQL语句,下面介绍两个慢查询辅助工具
mysqldumpslow
常用的慢查询日志分析工具,汇总除查询条件外其他完全相同的SQL,并将分析结果按照参数中所指定的顺序输出。
语法:

mysqldumpslow -s r -t 10 slow-mysql.log
-s order (c,t,l,r,at,al,ar) 
         c:总次数
         t:总时间
         l:锁的时间
         r:总数据行
         at,al,ar  :t,l,r平均数  【例如:at = 总时间/总次数】
-t  top   指定取前面几天作为结果输出

具体使用,也不是很复杂,可以到这篇博客参考学习:mysqldumpslow使用总结
pt_query_digest
是用于分析mysql慢查询的一个工具,与mysqldumpshow工具相比,py-query_digest 工具的分析结果更具体,更完善。
具体使用:pt-query-digest使用详解

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可私 6信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可 6私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。、可私 6信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值