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

[3-01-02].第15节:调优工具 - 查看 SQL 执行成本

MySQL高级学习大纲


一、Show Profile的功能:

  • 1.Show Profile 是 MySQL 提供的可以用来分析当前会话中 SQL 都做了什么、执行的资源消耗情况的工具,可用于 SQL 调优的测量
  • 2.默认情况下处于关闭状态,并保存最近 15 次的运行结果

二、Show Profile使用:

2.1.配置开启:

  • 1.我们可以在会话级别开启这个功能:
    在这里插入图片描述

2.2.测试配置:

a.执行查询语句:

  • 1.执行相关的查询语句,产生慢查询:
    在这里插入图片描述

b.查看profiles:

  • 2.接着看下当前会话都有哪些 profiles,使用下面这条命令,能看到当前会话一共有 2 个查询。
    在这里插入图片描述

c.查看最近一次profile:

  • 1.如果我们想要查看最近一次查询的开销,可以使用: show profile;
    在这里插入图片描述
  • 2.想要查看具体某一行:show profile cpu,block io for query 2,可以看到执行过程比较慢,那么此时就可以使用explain来分析为什么执行过程这么慢,是不是因为缺少索引,字段设置的不合适,链接的表是不是太多等原因
    在这里插入图片描述

2.3.show profile常用的查询参数的含义:

  • ALL:显示所有的开销信息
  • BLOCK IO: 显示块 IO 开销
  • CONTEXT SWITCHES :上下文切换开销
  • CPU:显示 CPU 开销信息
  • IPC:显示发送和接收开销信息
  • MEMORY: 显示内存开销信息
  • PAGE FAULTS:显示页面错误开销信息
  • SOURCE:显示和 Source_function,Source_file, Source_line 相关的开销信息
  • SWAPS:显示交换次数开销信息

2.4.日常开发需要注意的结论:

  • 1.converting HEAP to MyISAM 查询结果太大,内存不够,数据往磁盘上搬了
  • 2.Creating tmp table 创建临时表。先拷贝数据到临时表,用完后再删除临时表
  • 3.Copying to tmp table on disk 把内存中临时表复制到磁盘上,需要警惕!
  • 4.locked:加锁

如果在 show profile 诊断结果中出现了以上 4 条结果中的任何一条,则 SQL 语句需要优化

注意:不过 SHOW PROFILE 命令将被弃用,我们可以从 information_schema 中的 profiling 数据表进行查看

http://www.lryc.cn/news/574005.html

相关文章:

  • 编程捏脸系统:从美术资源到实时变形的深度实现
  • 系统规划与管理师(第2版)第9章思维导图发布
  • STM32HAL库 -- 9.IIC通信 软件IIC与硬件IIC驱动0.96寸OLED屏幕
  • 【Linux指南】文件管理高级操作(复制、移动、查找)
  • GO 语言学习 之 代码风格
  • 时序数据库IoTDB数据导入与查询功能详解
  • 「ECG信号处理——(18)基于时空特征的心率变异性分析」2025年6月23日
  • IDEA中如何为 Spring Boot 项目添加 VM 参数?
  • 微服务架构下的分布式事务管理
  • CSS 中aspect - ratio属性的用途及应用
  • 【面板数据】上市公司投资者保护指数(2010-2023年)
  • 兆瓦闪充技术革命:解码新能源汽车补能赛道的技术跃迁与从业机会图谱
  • LNMP 一键部署脚本 shell脚本
  • Postgresql中不同数据类型的长度限制
  • 基于springboot+uniapp的“川味游”app的设计与实现7000字论文
  • HarmonyOS NEXT应用元服务布局优化ArkUI框架执行流程
  • Java性能优化权威指南-操作系统性能监控
  • RSYNC+IONTIFY数据实时同步
  • ISCSI存储
  • 从java角度理解io多路复用和redis为什么使用io多路复用
  • 品牌控价需要数据支撑与高效治理双驱动
  • 前端手写题(一)
  • MySQL基础函数篇
  • 黑马python(十三)
  • python高校教务管理系统
  • Rust智能指针演进:从堆分配到零复制的内存管理艺术
  • 算法与数据结构:动态规划DP
  • Windows11系统自定义关闭更新
  • 二刷苍穹外卖 day03
  • Unity2D 街机风太空射击游戏 学习记录 #12QFramework引入