码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 使用 MySQL 慢速查询日志


    MySQL 提供了几个不同的日志文件,可以帮助你了解 MySQL 服务器实例内部的情况。这些日志文件包括:

    • 错误日志
    • isam 日志
    • 常规查询日志
    • 二进制日志
    • 慢速日志

    其中,慢速查询日志对于查找低效或耗时的查询特别有用,这些查询会对数据库和整体服务器性能产生不利影响。本篇文章将介绍如何读取和解释慢查询日志输出以更好地调试查询性能。

    开启慢速查询日志

    慢速查询日志由执行时间超过 long_query_time 秒的 SQL 语句组成,并且至少需要检查 min_examined_row_limit 行。因此,出现在慢查询日志中的查询是那些需要大量时间来执行的查询,是需要优化的查询。

    慢速查询日志默认是禁用的,以节省磁盘空间。你可以通过将 --slow_query_log 变量设置为 1(在

    Navicat 中为 ON)来打开它。同样,不提供任何参数也会打开慢速查询日志。同样,参数 0(在 Navicat 中为 OFF)会禁用日志。

    在 Navicat 中,你可以使用服务器监控工具访问系统变量。它可以通过“工具”主菜单命令访问。在服务器监控中,点击中间的变量选项卡并向下滚动以查看列表中的 slow_query_log 和 slow_query_log_file 服务器变量:

    读取慢速查询日志

    由于需要筛选大量内容,检查长的慢速查询日志可能是一项耗时的任务。慢速日志文件中的典型条目如下所示:

    # Time: 140905  6:33:11
    # User@Host: dbuser[dbname] @ hostname [1.2.3.4]
    # Query_time: 0.116250  Lock_time: 0.000035 Rows_sent: 0  Rows_examined: 20878
    use dbname;
    SET timestamp=1409898791;
    ...SLOW QUERY HERE...
    

    为了更容易读取日志内容,你可以使用 mysqldumpslow 命令行实用程序来处理慢速查询日志文件并总结其内容:

    ~ $ mysqldumpslow -a /var/lib/mysql/slowquery.log
     Reading mysql slow query log from /var/lib/mysql/slowquery.log
     Count: 2  Time=316.67s (633s)  Lock=0.00s (0s)  Rows_sent=0.5 (1), Rows_examined=0.0 (0), Rows_affected=0.0 (0), root[root]@localhost
    ...SLOW QUERY HERE...
    

    Navicat 查询分析器

    Navicat Monitor 的查询分析器工具提供查询日志的图形表示,使解释其内容更加容易。此外,查询分析器工具使你能够监视和优化查询性能、可视化查询活动统计信息、分析 SQL 语句以及快速识别和解决长时间运行的查询。

    除了慢速查询日志之外,查询分析器还使用以下方法收集有关查询语句的信息:

    1. 从服务器检索常规查询日志并分析信息。
    2. 查询 performance_schema 数据库并分析特定的性能信息。

    你将在“最新的死锁查询”和“进程列表”部分下方找到“查询分析器”部分:

    总结

    本文介绍了几种读取慢速查询日志输出的方法,以更好地调试查询的性能。点击 此处了解有关 Navicat Monitor 的所有功能的更多详细信息,或下载 14 天全功能免费试用版!

    往期回顾

    Navicat 被投毒了 | 真相来了!

    盗版引发设备瘫痪

    Navicat 16.1 为OceanBase 社区版

    Navicat 成为信通院数据库创新实验室成员

    Navicat 学术伙伴计划 - 免费教育版申请

    Navicat 技术智库 - 实战演练与各类热门问题解答

    免费试用攻略 | Navciat 16 数据库管理工具

  • 相关阅读:
    学习MyBatis时遇到的细节问题
    考研数据结构大题整合_组三(LZH组)
    C++ map&set的使用讲解
    Emgu CV4图像处理之膨胀和腐蚀、梯度计算、开闭运算14(C#)
    使用arduino编写mqtt客户端连接emqx服务器
    【numpy】np.digitize(arr, bins) 用法
    curl用法:查看响应时间
    nacos 适配瀚高数据库、ARM 架构
    Python Flask框架-开发简单博客-项目布局、应用设置
    编译安装、RPM和tar包等安装方式的对比
  • 原文地址:https://blog.csdn.net/weixin_53935287/article/details/125878128
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号