MySQL--慢查询

2023-11-17

MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。
具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中,long_query_time的默认值为10,意思是运行10秒以上的语句。
默认情况下,MySQL数据库没有开启慢查询日志,需要我们手动来设置这个参数。如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会带来一定的性能影响,慢查询日志支持将日志记录写入文件。

SHOW VARIABLES LIKE '%slow_query_log%';

在这里插入图片描述
开启:

set global slow_query_log=1;

查看阀值时间:

show variables like '%long_query_time%';

在这里插入图片描述
设置阀值:

 set global long_query_time=3;

在这里插入图片描述
设置完成后需要新开一个会话才能看到修改值。

show global variables like 'long_query_time';

在这里插入图片描述
改完上述的配置后还需要检查一下log-output值,我的mysql版本默认为none,导致测试的时候慢sql总是打印不出来,设置为FILE即可。
在这里插入图片描述
测试:

select sleep(4);

在这里插入图片描述
慢查询分为两类,一类是返回太多行数据导致,还有就是没有用到索引,扫描行数过多导致。慢查询中rows_examined标识扫描了多少行,Rows_sent 返回记录行数

查看系统中多少慢sql:

show global status like '%Slow_queries%';

日志分析工具mysqldumpslow
s:是表示按照何种方式排序。

  • c:访问次数
  • l:锁定时间
  • r:返回记录
  • t:查询时间

al:平均锁定时间
ar:平均返回记录数
at:平均查询时间
t:即为返回前面多少条的数据
g:后面搭配一个正则匹配模式,大小写不敏感的。
案例:
得到返回记录集最多的10个SQL

mysqldumpslow -s r -t 10 /var/lib/mysql/temp-slow.log

得到访问次数最多的10个SQL

mysqldumpslow -s c -t 10 /var/lib/mysql/temp-slow.log

得到按照时间排序的前10条记录里面还有左连接的查询语句

mysqldumpslow -s t -t 10 -g "left join" /var/lib/mysql/temp-slow.log
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL--慢查询 的相关文章

  • 使用函数的 SQL 查询 - 如何获取列表的最大计数

    如何查询 MAXIMUM COUNT 交易次数 我的代码如下 SELECT customer id COUNT customer id FROM rental GROUP BY customer id HAVING MAX COUNT cu
  • SQL Server:如果存在会大大减慢查询速度

    正在使用SQL Server 2012 我找到了一些关于查询优化的主题 并将 EXISTS 与 COUNT 进行比较 但我找不到这个确切的问题 我有一个看起来像这样的查询 select from tblAccount as acc join
  • CONTAINS 不适用于 Oracle Text

    我在执行此查询时遇到问题 SELECT FROM gob attachment WHERE CONTAINS gob a document java gt 0 它给了我 ORA 29902 error in executing ODCIIn
  • Oracle REGEXP_INSTR() 和“a-z”字符范围与预期不匹配

    我想用REGEXP INSTR 在 oracle 数据库中检查小写 大写字符 我知道 upper and lower POSIX 字符类 但我选择了a z这给了我非常奇怪的结果 我不明白 有人可以解释一下吗 SELECT REGEXP IN
  • 如何使用 SQL 查询创建逗号分隔的列表?

    我有 3 个表 名为 应用程序 ID 名称 资源 id 名称 应用程序资源 id app id resource id 我想在 GUI 上显示所有资源名称的表格 在每一行的一个单元格中 我想列出该资源的所有应用程序 以逗号分隔 所以问题是
  • MySQL 中 INDEX、PRIMARY、UNIQUE、FULLTEXT 之间的区别?

    创建MySQL表时PRIMARY UNIQUE INDEX和FULLTEXT有什么区别 我将如何使用它们 差异 KEY or INDEX指的是普通的非唯一索引 索引的非不同值是允许的 因此索引may索引的所有列中包含具有相同值的行 这些索引
  • 统计mysql中的总行数并按列分组

    所以我已经看这个有一段时间了 但我似乎无法弄清楚 我有一个具有以下格式和示例数据的 mysql 表 ID Customer Time Error Code Duration 1 Test1 00 12 00 400 120 2 Test2
  • mysql GROUP_CONCAT 重复项

    我从 farmTOanimal 表中进行连接 如下所示 有一个类似的farmTotool表 id FarmID animal 1 1 cat 2 1 dog 当我在视图中加入表时 我得到的结果如下所示 FarmID animal tool
  • 如何将数据源url查询参数添加为application.properties?

    是否可以添加数据源 url 参数作为额外属性 或者我总是必须将它们作为查询参数直接附加到 url 中 Example spring datasource url jdbc mysql localhost test useSSL false
  • 根据数据框中的内容从SQL Server删除行

    我在 SQL Server 中有一个名为的库存表dbo inventory其中包含Year Month Material and Stock quantity 我每天都会收到 csv 文件形式的新库存计数 需要将其加载到dbo invent
  • 无法从我的 java 应用程序访问 mysql 数据库(在 AWS 实例上运行)

    我有一个在 AWS EC2 Ubuntu 实例上运行的 xampp 服务器 并且那里有一个名为 androiddb 的数据库 我可以通过在导航器中写入来访问数据库http public ip phpmyadmin http public i
  • Rails 中 WHERE 子句中的 ALL 运算符

    关联关系如下图所示 InstructorStudent has many fees Fee belongs to instructor student 我想要获得在所有给定数组中具有每月详细信息的指导学生 如果其中任何一个中不存在每月详细信
  • 如何关闭与数据库的现有连接

    我想关闭与 MS SQL Server 的现有连接 以便可以通过编程方式对该数据库进行恢复 这应该会断开其他所有人的连接 并使您成为唯一的用户 alter database YourDb set single user with rollb
  • 使用php插入sql数据库时出错

    我有一个带有 MySQL 插入查询的程序 sql INSERT INTO people person id name username password email salt VALUES person id name username p
  • PostgreSQL 和锁定

    希望一些比我更聪明的 DBA 可以帮助我找到一个好的解决方案来完成我需要做的事情 为了便于讨论 我们假设我有一个名为 work 的表 其中包含一些列 其中一列表示给定客户端对该行工作的所有权 场景是 我将连接 2 个客户端并轮询表以查找要完
  • 连接 3 三张表

    我有这个图表应该可以解释我的情况 我需要一些关于连接 3 个表的帮助 我不知道如何做这种事情 因此 我可以通过执行以下操作来经历一段检索记录的 while 循环 img src alt Album AlbumID 使用内部联接 http w
  • 如何避免连接两个表时重复

    Student Table SID Name 1 A 2 B 3 C Marks Table id mark subject 1 50 physics 2 40 biology 1 50 chemistry 3 30 mathematics
  • MySQL 正在将我的时间戳值转换为 0000-00-00

    我是 PHP 新手 目前仍在学习中 我认为我的注册表有问题 username password email全部成功插入MySQL registered and last seen不要 我以为我正在使用getTimestamp 错了 但它呼应
  • 根据最大值连接表

    这是我正在谈论的内容的一个简化示例 Table students exam results id name id student id score date 1 Jim 1 1 73 8 1 09 2 Joe 2 1 67 9 2 09 3
  • MYSQL 按喜欢/不喜欢和受欢迎程度排序

    我有评论表 其中包括喜欢和不喜欢的内容 现在我在正确的顺序上遇到了问题 实际上 我的系统在顶部显示了最多点赞的评论 我正在 youtube 上寻找类似系统的东西 这意味着 100like 100dislikes 的评论的顺序高于 1 1 我

随机推荐

  • Servlet传送对象给Applet使用

    前日 一位朋友与我谈论Servlet与Applet共享Java对象的问题 现发表出来与大家分享 文中瑕癖 之处甚多 望各位指教 朋友谈论的需求是这样的 他想通过页面上一个Applet呼叫一个服务器Servlet 而从Servlet产生 一个
  • Anaconda3安装TensorFlow2.0.0镜像并且配置好Jupyter Notebook

    我们安装TensorFlow1 2 1但是后面又要安装Tensorflow2 0 0 那么我们就需要让Tensorflow两个版本在windows电脑下进行共存 首先 我们先下载了anacoda3和配置好了清华镜像 我们打开anaconda
  • 从零开始编译OpenWrt固件

    从零开始编译OpenWrt固件 前言 进来阅读这篇文章的相信都是对OpenWrt有一定的了解的 对于OpenWrt的介绍这里就不再赘述 可以自行查找相关百科了解 OpenWrt是适合于嵌入式设备的一个Linux发行版 可以通过其提供的相关工
  • Docker使用基础命令(记录贴)

    Docker使用基础命令 基础命令 拉取 推送镜像 docker run命令 基础操作 保存镜像并压缩 基础命令 docker images grep xxx docker ps a grep xxx 导入容器 docker load i
  • vue+antD 表格中使用input

    vue antD 表格中使用input 在这里插入代码片
  • 【编程与算法基础】数据结构——时间复杂度与空间复杂度

    文章目录 算法的时间复杂度和空间复杂度 一 前言 1 算法的效率 2 复杂度的表示方法 大O渐进表示法 3 大O渐进表示法的规则 二 时间复杂度 1 时间复杂度的概念 2 简单时间复杂度计算举例 3 复杂时间复杂度的计算举例 三 空间间复杂
  • C++实践之Qt学习(六):Qt设计器之常用控件、布局和样式

    文章目录 常用控件 按钮 普通按钮 单选按钮 多选按钮 其他的按钮 显示控件 标签 其他显示控件 输入控件 数据项控件 容器控件 布局 Qt布局介绍 设置布局的方式 样式 外部样式表 常用控件 按钮 Buttons分类中包含了Qt中常用的按
  • Appium使用教程(七)——获取appPackage和appActivity

    appPackage和appActivity 进行appium自动化测试非常重要的两个参数 我们所测试的APP不同 这两个参数肯定也是不一样的 那如何快速的获取这APP的这两个参数呢 我这里介绍五个方法 方法一 最简单有效的方法 通过cmd
  • Ubuntu 之 docker 无法下载镜像

    问题 使用 docker pull 命令拉取镜像出现如下错误 解决方案 1 在 etc docker 中创建 daemon json 文件 vim etc docker daemon json 2 写入 registry mirrors h
  • Android 夜间模式(白/夜间模式的切换)

    在项目研发中 我们避免不了需求中会应用到夜间模式 这里对它做一些总结以及封装 从API 23后 Android就有自带的api能够实现夜间模式与白天模式的切换 Support Library 23 2 应用于API14 推出了适合Andro
  • 逐点比较法实现直线圆弧插补[数控机床]

    逐点比较法实现不同象限直线 圆弧插补 一 原理介绍 1 1 简介 1 2 逐点比较法偏差计算 直线 1 2 1 第一象限逐点比较法思路 1 2 2 四象限逐点比较法实现思路 1 3 逐点比较法偏差计算 圆弧 1 3 1 第一象限逐点比较法思
  • 笔记:快速上手shell编程

    SHELL学习笔记 变量赋值 赋值 A 10 不允许 赋值时不允许在等号两侧出现空格 A 10 允许 A 10 不允许 A 10 允许 当赋值时需要填充多个空格 可以使用 环境变量 root localhost gitee echo PWD
  • tf1.x和tf2.x查看TFRecord数据的方法

    Tensorflow 1 x和Tensorflow 2 x读取tfrecord方法略有不同 下面分别记录两段代码 Tensorflow 1 x for example in tf python io tf record iterator p
  • React基础之Refs的理解与使用

    目录 为什么会用到Refs 何时使用Refs Refs有哪些使用方式 字符串形式的refs 回调形式的refs createRef的使用 为什么会用到Refs 我们在使用React写代码的时候对Refs的使用比较少 因为我们很少直接操作底层
  • 常用DOC命令

    copy con 123 bat 创建批处理 color 改变cmd颜色 ping t l 65550 ip 死亡之ping ipconfig 查看ip ipconfig release 释放ip ipconfig renew 重获ip s
  • arm下蜂鸣器测试代码

    首先还是看内核蜂鸣器的实现 如下图 这个和led一样 都是比较简单的字符驱动 代码如下 include
  • JS 触发事件整理

    一般事件 onclick IE3 N2鼠标点击时触发此事件 ondblclick IE4 N4鼠标双击时触发此事件 onmousedown IE4 N4按下鼠标时触发此事件 onmouseup IE4 N4鼠标按下后松开鼠标时触发此事件 o
  • Android 最简单的应用间跳转小结

    不明所以的图示 通过 JumpOrigin 可以打开 JumpMe 以下简结了4种方式 1 通过查找包名直接启动 APP 这种方法最直接 通过解析包名 判断该应用是否安装 如果安装了就可以直接启动 也能够传递参数 代码如下 傻瓜式打开应用
  • 数据质量评价体系参考

    数据质量人人有责 这不仅仅只是一句口号 更是数据工作者的生命线 数据质量的好坏直接决定着数据价值高低 数据质量管理是指在数据创建 加工 使用和迁移等过程中 通过开展数据质量定义 过程控制 监测 问题分析和整改 评估与考核等一系列管理活动 提
  • MySQL--慢查询

    MySQL的慢查询日志是MySQL提供的一种日志记录 它用来记录在MySQL中响应时间超过阀值的语句 具体指运行时间超过long query time值的SQL 则会被记录到慢查询日志中 具体指运行时间超过long query time值的