MySQL 慢查询日志记录 SQL优化 性能优化 日志查询 Explain

介绍

慢查询日志记录了所有执行时间超过指定参数(long_query_time,单位:秒,默认10秒)的所有SQL语句的日志。MySQL的慢查询日志默认没有开启,需要在MySQL的配置文件(/etc/my.cnf)中配置针对这些慢查询的SQL语句进行优化。

#开启慢查询开关
slow_query_log=1
#慢查询超时时间
long_query_time=3

是否开启慢查询

SHOW VARIABLES LIKE 'slow_query_log';

在这里插入图片描述

慢日志存储路径

SHOW VARIABLES LIKE 'slow_query_log_file';

Profiles

show profiles 能够在做SQL优化时帮助我们了解时间都耗费到哪里去了。通过have_profiling参数,能够看到当前MySQL是否支持
profile操作。

是否支持查看详情

SELECT @@have_profiling

默认profiling是关闭的,可以通过set语句在session/global级别开启profiling

开启Profiles

SET profiling =1;

查看每一条SQL耗时

SHOW profiles;

Explain执行计划

它描述了数据库查询处理器如何执行 SQL 查询,包括查询中涉及的各个步骤、操作的顺序、数据访问方式等。通过分析执行计划,开发者和数据库管理员可以理解数据库是如何执行查询的,从而发现潜在的性能瓶颈,优化查询效率。

语法

EXPLAIN SELECT  id,phone,name,sex,password,play_num  FROM user 
WHERE (phone LIKE '%15234204153%') LIMIT 100;

在这里插入图片描述

  • id select查询的序列号,表示查询中执行select子句或者是操作表的顺序(id相同,执行顺序从上到下;id不同,值越大,越先执行)
  • select_type 表示 SELECT的类型,常见的取值有 SIMPLE(简单表,即不使用表连接或者子查询)、PRIMARY(主查询,即外层的查询)
    UNION(UNION中的第二个或者后面的查询语句)、SUBQUERY(SELECT/WHERE之后包含了子查询)等
  • type 表示连接类型,性能由好到差的连接类型为NULL、system、const、eq_ref、ref、range、index、all 排名越前性能越好
  • possible_key 显示可能应用在这张表上的索引,一个或多个

type连接类型解释

  • NULL 无需访问表中的任何数据(常量查询) 无索引 简单查询
  • system 表只有一行时(系统表) 系统表的唯一索引 系统表查询
  • const 使用主键或唯一索引进行常量查找 主键或唯一索引 精确匹配查询
  • eq_ref 使用唯一索引进行精确匹配(通常用于连接) 唯一索引(主键或唯一索引) 连接查询
  • ref 使用非唯一索引进行查找(通常用于连接) 非唯一索引 非精确匹配连接
  • range 使用索引进行范围扫描(如 BETWEEN、>、<) 索引范围扫描 范围查询
  • index 使用索引进行全索引扫描(覆盖索引) 全索引扫描(覆盖索引) 覆盖索引查询
  • all 全表扫描(最慢的扫描方式) 无索引 无有效索引的查询
  • filtered 表示返回结果的行数占需读取行数的百分比,filtered 的值越大越好

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/929937.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

chromedriver.exe编译

使用例子参考官网 ChromeDriver 使用入门 | Chrome for Developers Chrome for Testing availability 注意&#xff1a;chromedriver版本要与chromium版本号对应。 如何编译chromedriver chrome\test\chromedriver\BUILD.gn 1、ninja -C out/debug chromedriver_server…

JVM-程序计数器与栈

目录 程序计数器1&#xff1a;作用&#xff1a;2&#xff1a;特点&#xff1a;1&#xff1a;线程私有2&#xff1a;内存不会溢出 栈1&#xff1a;介绍&#xff1a;2&#xff1a;问题辨析&#xff1a; 程序计数器 1&#xff1a;作用&#xff1a; 程序计数器的作用就是记录下一条…

2025美赛数学建模常用数据库网站大全

优秀模板写作红宝书数学模型获取——更多资料请点击下方名片进群获取。 一、可以查询美国各个领域经济指标的网站: olap.epsnet.com.cnhttps://www.ers.usda.gov/data-products/rice-yearbook/www.ers.usda.govU.S. Energy Information Administration (EIA) www.eia.govhttp…

IS-IS三

目录 点到点邻接关系建立 ISIS修改链路类型 isis ppp-negotiation 3-way only 仅才用三次握手建立邻居 不向下兼容两次握手 两次握手 自身发送的&#xff08;Hello报文&#xff09;IIH 不携带 p2p adj TLV 不处理点到点邻接状态TLV 三次握手 …

Android10 设备死机的问题分析和解决

最近客户反馈一个问题&#xff0c;设备偶现死机。最后解决&#xff0c;在此记录。 目录 一死机的现象 二死机的类型 三 死机问题分析 1 死机现象的梳理 2 死机日志 1&#xff09;日志分析一 2 日志分析二&#xff08;正确方案&#xff09; 一死机的现象 设备死机&#x…

flex布局容易忽略的角色作用

目录 清除浮动 作用于行内元素 flex-basis宽度 案例一&#xff1a; 案例二&#xff1a; 案例三&#xff1a; flex-grow设置权重 案例一&#xff1a; 案例二&#xff1a; 简写flex-grow:1 0 auto; flex作为一维布局,行和列的使用&#xff0c;忽略的小角色&#xff0c;大…

如何安全地远程控制电脑

在当今的工作环境中&#xff0c;远程控制技术变得越来越关键。无论是远程工作、技术支持&#xff0c;还是常规的维护任务&#xff0c;远程控制都为用户带来了极大的方便。本文将详细探讨远程控制电脑的基本概念、如何安全地进行远程控制电脑的操作&#xff0c;以及RayLink远程控…

Linux实现地址转换和抓包

1.Linux实现地址转换 1.1 SNAT和DNAT NAT:地址转换SNAT:源地址转换DNAT:目的地址转换 内网——》外网&#xff1a;内网色的ip不能直接和公网ip通信&#xff0c;必须要把内网的地址转换成和公网ip通信的地址 外网——》内网&#xff1a;外网也不能直接和内网通信&#xff0c…

与火山引擎合作深化,观测云携一站式监控解决方案登陆万有商城

近日&#xff0c;观测云正式宣布入驻火山引擎的万有商城。作为一款全栈式数据观测与分析平台&#xff0c;观测云的加入不仅丰富了火山引擎生态&#xff0c;也为广大企业用户带来了更便捷的数字化工具&#xff0c;助力企业快速实现业务监控与优化。 从全球覆盖到本地深耕&#x…

一、web基础和http协议

前言 https://www.baidu.com/&#xff1a;URL&#xff08;是一种万维网寻址网址&#xff09; https://&#xff1a;协议&#xff0c;加密的http&#xff0c;加密的超文本传输协议&#xff0c;在数据传输之前要通过整数进行身份验证&#xff0c;验证通过才可以进行数据传输。 …

Vue生成类似于打卡页面

数据表格 <el-table :data"tableData" border height"calc(100vh - 240px)" :cell-style"cellFun"><el-table-column label"姓名" show-overflow-tooltip prop"name" align"center"/><el-table-co…

高通---Camera调试流程及常见问题分析

文章目录 一、概述二、Camera配置的整体流程三、Camera的代码架构图四、Camera数据流的传递五、camera debug FAQ 一、概述 在调试camera过程中&#xff0c;经常会遇到各种状况&#xff0c;本篇文章对camera调试的流程进行梳理。对常见问题的提供一些解题思路。 二、Camera配…

03_Webpack模块打包工具

03_Webpack模块打包工具 目录 知识点自测 以下哪个选项是 ECMAScript 默认导出和导入的语法&#xff1f; A&#xff1a;export 和 require B&#xff1a;module.exports {} 和 import 变量名 C&#xff1a;export default 和 import 变量名 D&#xff1a;export 和 import {…

FastAPI解决跨域报错net::ERR_FAILED 200 (OK)

目录 一、跨域问题的本质 二、FastAPI中的CORS处理 1. 安装FastAPI和CORS中间件 2. 配置CORS中间件 3. 运行FastAPI应用 三、解决跨域报错的步骤 四、案例&#xff1a;解决Vue.js与FastAPI的跨域问题 1. Vue.js前端应用 2. FastAPI后端API 3. 配置CORS中间件 4. 运行…

盲盒抽卡机小程序,打造趣味与惊喜并存的卡牌体验

随着科技的不断发展&#xff0c;线上营销方式已经渗透到了各行各业中&#xff0c;卡牌市场也不例外。传统的拆卡方式存在一些局限问题&#xff0c;为了提高消费者的拆卡体验&#xff0c;线上抽卡机系统成为了新的发展方式&#xff0c;提供全新的市场活力。 盲盒抽卡机系统是卡…

ModelScope-Agent(1): 基于开源大语言模型的可定制Agent系统

目录 简介快速入门 简介 github地址 快速入门 看前两篇&#xff0c;调用千问API和天气API # 选用RolePlay 配置agent from modelscope_agent.agents.role_play import RolePlay # NOQArole_template 你扮演一个天气预报助手&#xff0c;你需要查询相应地区的天气&#x…

git将一个项目的文件放到另一个项目的文件夹下

现有productA与productB项目&#xff0c;现将productA、productB放到productC下的mall-web文件下&#xff0c;目前只能实现保留productA的提交记录&#xff0c;暂不能实现保留两个的提交记录 一.克隆最新的productC的库&#xff0c;这里指mall-web 二.将productA复制到mall-we…

flink-connector-mysql-cdc:01 mysql-cdc础配置代码演示

flink-connector-mysql-cdc&#xff1a; 01 mysql-cdc基础配置代码演示02 mysql-cdc高级扩展03 mysql-cdc常见问题汇总04 mysql-cdc-kafka生产级代码分享05 flink-kafka-doris生产级代码分享06 flink-kafka-hudi生产级代码分享 flink-cdc版本&#xff1a;3.2.0 flink版本&…

【机器学习】机器学习的基本分类-监督学习-支持向量机(Support Vector Machine, SVM)

支持向量机是一种强大的监督学习算法&#xff0c;主要用于分类问题&#xff0c;但也可以用于回归和异常检测。SVM 的核心思想是通过最大化分类边界的方式找到数据的最佳分离超平面。 1. 核心思想 目标 给定训练数据 &#xff0c;其中 是特征向量&#xff0c; 是标签&#xf…

[Redis#15] 持久化 | AOF | rewrite | aof_buf | 混合持久化

目录 1 使用AOF 流程 问题一&#xff1a;父进程在fork之后继续写旧AOF文件的意义 问题二&#xff1a;执行BGREWRITEAOF时的特殊情况处理 2 命令写入 3 文件同步 4 重写机制 工作流程&#xff1a; 触发条件 混合持久化 持久化 sum AOF&#xff08;Append Only File&a…