当前位置: 首页 > news >正文

MySQL慢查询分析与处理

什么是慢日志

    慢日志是MySQL用来记录数据库中执行较慢的SQL语句的日志,当数据库遇到性能问题时,慢日志可以帮助我们分析数据库中执行较慢的SQL。

如何打开数据库慢日志功能

    MySQL默认是关闭慢日志功能的,可以从数据库中或者从配置文件中进行修改。

    在数据库中临时开启:

    set global slow_query_log = 'on'; //开启慢查询日志

    set global slow_query_log_file = 'path/mysql_xx_slow.log';//设置慢日志路径

    set global long_query_time = 2;//设置慢查询阈值,单位秒,超过阈值的SQL会记录到慢日志

    配置文件(my.cnf)中永久开启:

    slow_query_log = 1

    slow_query_log_file = path/mysql_xx_slow.log

    long_query_time = 2

    log_queries_not_using_indexes = 1 -- 可选项:记录那些没有使用索引的查询

慢日志内容格式

# Time: 2023-10-12T09:14:23.563457Z
# User@Host: user[user] @ localhost []
# Query_time: 12.345678  Lock_time: 0.000123 Rows_sent: 10  Rows_examined: 1000
# Rows_affected: 0  Bytes_sent: 512
SET timestamp=1634038463;
SELECT * FROM large_table WHERE column = 'value';

  • Time:查询的执行时间。
  • User@Host:发起查询的用户和主机。
  • Query_time:查询执行的时间,单位为秒。
  • Lock_time:查询执行期间的锁定时间。
  • Rows_sent:查询返回的行数。
  • Rows_examined:查询过程中检查的行数。
  • Rows_affected:影响的行数(如 INSERTUPDATEDELETE 等)。
  • Bytes_sent:返回的数据大小(以字节为单位)。
  • SET timestamp:查询执行的时间戳。
  • SQL 语句:执行的具体 SQL 查询。

如何快速分析很大的慢日志

    使用PerconaToolkit中的pt-query-digest工具可以帮助我们快速分析MySQL的慢查询日志。

相关文章:

  • Basler acA1920-40gc
  • RabbitMQ 学习路线与知识总结
  • Opencv 阈值与平滑处理
  • 京东外卖举办首批全职骑手代表签约仪式
  • az devops login报错:Failed to authenticate using the supplied token.
  • 广义表(C语言代码链式存储结构)
  • Linux基础33-C语言篇之字符串的基础操作【入门级】
  • 浅入浅出Selenium DevTools
  • 【数据结构】_顺序表
  • SringAop
  • 互联网医院实时数据监测智能分析系统设计概述(上)
  • 基于springboot后台管理的校园网站系统(源码+lw+部署文档+讲解),源码可白嫖!
  • 【HarmonyOS NEXT】控制 WebP 格式动图播放次数的实现方案
  • 【Prometheus】prometheus服务发现与relabel原理解析与应用实战
  • 如何用 Python 进行机器学习
  • python学习七
  • linux上搭建Lago并部署
  • word转换为pdf后图片失真解决办法、高质量PDF转换方法
  • C语言32个关键字
  • 面试【进阶】 —— 说下csr、ssr、ssg 的区别?
  • 服务器网站建设维护合同/花西子网络营销案例分析
  • 做零食的网站有哪些/网页怎么做出来的
  • 网站中的横幅怎么做/郑州百度推广代理公司
  • 电商网站建设报价单/软文推广经典案例
  • 怎么做物物交换网站/广州网站维护
  • 中国企业网站/seo自然排名