MySQL的慢查询

发布时间:2022-06-27 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了MySQL的慢查询脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

慢查询日志

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

记录不走索引的数据

  • 查看方式:show VARIABLES like '%not_using_indexes%';

    MySQL的慢查询

  • 相对于配置慢查询,可以配置这个步骤索引的日志。因为随着业务的增加,无索引的查询慢的可能性比较大!

  • 开启这个的前提是开启慢查询!

慢查询配置

-- 开启慢查询日志
set GLOBAL slow_query_log=1;
-- 查询慢查询的时间
show VARIABLES like '%slow_query_log%';

MySQL的慢查询

  • 如果慢查询日志配置为0,则记录所有执行语句。

慢查询解读分析

MySQL的慢查询

  • Time: 2021-04-05T07:50:53.243703Z”:查询执行时间
  • User@Host: root[root] @ localhost [] Id: 3”:用户名 、用户的IP信息、线程ID号
  • Query_time: 0.000495”:执行花费的时长【单位:秒】
  • Lock_time: 0.000170”:执行获得锁的时长
  • Rows_sent:获得的结果行数
  • Rows_examined:扫描的数据行数
  • SET timestamp:这SQL执行的具体时间
  • 最后一行:执行的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 = 总时间/总次数】
  • -s 对结果进行排序,怎么排,根据后面所带的 (c,t,l,r,at,al,ar),缺省为at
  • -t NUM just show the top n queries:仅显示前n条查询
  • -g PATTERN grep: only consider stmts that include this string:通过grep来筛选语句。

脚本宝典总结

以上是脚本宝典为你收集整理的MySQL的慢查询全部内容,希望文章能够帮你解决MySQL的慢查询所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: