Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MySQL中的profile的意义以及使用场景有哪些?

MySQL中的profile的意义以及使用场景有哪些?

作者头像
AiDBA宝典
发布于 2023-08-09 06:26:20
发布于 2023-08-09 06:26:20
31600
代码可运行
举报
运行总次数:0
代码可运行
Q

题目

MySQL中的profile的意义以及使用场景有哪些?

A

答案

MySQL可以使用profile分析SQL语句的性能消耗情况。例如,查询到SQL会执行多少时间,并看出CPU、内存使用量,执行过程中系统锁及表锁的花费时间等信息。

通过have_profiling参数可以查看MySQL是否支持profile,通过profiling参数可以查看当前系统profile是否开启:

查看profile是否开启:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
mysql> show variables like '%profil%';

+------------------------+-------+

| Variable_name          | Value |

+------------------------+-------+

| profiling              | OFF   |         --开启SQL语句剖析功能

| profiling_history_size | 15    |         --设置保留profiling的数目,缺省为15,范围为0100,为0时将禁用profiling

+------------------------+-------+

以下是有关profile的一些常用命令:

l set profiling = 1; #基于会话级别开启,关闭则用set profiling = off

l show profile cpu for query 1; #查看CPU的消耗情况

l show profile memory for query 1; #查看内存消耗情况

l show profile block io,cpu for query 1; #查看I/O及CPU的消耗情况

可以使用如下的语句查询SQL的整体消耗百分比:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SELECT STATE,

       SUM(DURATION) AS TOTAL_R,

       ROUND(100 * SUM(DURATION) /

             (SELECT SUM(DURATION)

                FROM INFORMATION_SCHEMA.PROFILING

               WHERE QUERY_ID = 1),

             2) AS PCT_R,

       COUNT(*) AS CALLS,

       SUM(DURATION) / COUNT(*) AS "R/Call"

  FROM INFORMATION_SCHEMA.PROFILING

 WHERE QUERY_ID = 1

 GROUP BY STATE

 ORDER BY TOTAL_R DESC;

profile是一个非常量化的指标,可以根据这些量化指标来比较各项资源的消耗,有利于对SQL语句的整体把控。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-08-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DB宝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
MySQL数据库原理学习(十)
show profiles 能够在做SQL优化时帮助我们了解时间都耗费到哪里去了。通过have_profiling参数,能够看到当前MySQL是否支持profile操作:
用户1289394
2022/10/26
2740
MySQL数据库原理学习(十)
MySQL SHOW PROFILE(剖析报告)的查看
前言:SHOW PROFIL命令是MySQL提供可以用来分析当前会话中语句执行的资源消耗情况。可以用于SQL的调优的测量。 一、参数的开启和关闭设置 1.1 参数的查看 默认情况下,参数处于关闭状态,并保存最近15次的运行结果 mysql> show variables like 'profiling%'; +------------------------+-------+ | Variable_name | Value | +------------------------+-----
joshua317
2018/04/09
1.4K0
Mysql之性能分析工具profiling
MySQL中提供了内置的性能分析工具profiling, 今天就一起看下这个工具怎么使用.
一个架构师
2022/06/20
9860
Mysql之性能分析工具profiling
MySQL SQL剖析(SQL profile)
    分析SQL执行带来的开销是优化SQL的重要手段。在MySQL数据库中,可以通过配置profiling参数来启用SQL剖析。该参数可以在全局和session级别来设置。对于全局级别则作用于整个MySQL实例,而session级别紧影响当前session。该参数开启后,后续执行的SQL语句都将记录其资源开销,诸如IO,上下文切换,CPU,Memory等等。根据这些开销进一步分析当前SQL瓶颈从而进行优化与调整。本文描述了如何使用MySQL profile,不涉及具体的样例分析。
Leshami
2018/08/13
4.1K0
MySQL 有效利用 profile 分析 SQL 语句的执行过程
在日常的工作中,我们通常要分析 SQL 语句的性能,通过会使用到执行计划,利用执行计划来分析 SQL 语句的性能,并进行相应的优化;本文将利用 profile 分析 SQL 语句的执行过程来辅助的分析 SQL 语句,做好优化;
JiekeXu之路
2019/06/20
4.9K0
MySQL 有效利用 profile 分析 SQL 语句的执行过程
MySql学习笔记(五)- 使用ShowProfile分析Sql
上期文档中我们让mysql开启慢查询日志,收集查询时间比较长的sql,进而通过explain指令查询sql的执行过程,explain能够查看sql是那种数据查询方式以及索引情况。但是有时候使用explain还是无法定位到问题sql,所以在mysql5.037版本之后新增了show profiles和show profile语句的支持,通过hava_profileing指令可以查看当前sql是否支持profiles。
写一点笔记
2020/11/10
6000
MySql学习笔记(五)- 使用ShowProfile分析Sql
【高性能MySQL】性能分析之剖析单条查询SHOW PROFILE
在定位到需要优化的单条查询后,确认为什么花费这么长时间执行,以及需要如何去优化。本节主要介绍如何方便的测量查询执行的各部分花费了多少时间,有了这些数据才能决定采用何种优化技术。
用户9295575
2025/01/04
2150
MySQL: 使用show profiles分析SQL性能
分析SQL执行带来的开销是优化SQL的重要手段。在MySQL数据库中,可以通过配置profiling参数来启用SQL剖析。该参数可以在全局和session级别来设置。对于全局级别则作用于整个MySQL实例,而session级别紧影响当前session。该参数开启后,后续执行的SQL语句都将记录其资源开销,诸如IO,上下文切换,CPU,Memory等等。根据这些开销进一步分析当前SQL瓶颈从而进行优化与调整
大忽悠爱学习
2021/11/15
1.4K0
优化SQL语句的一般步骤
在MySQL中,SQL优化是很常见的一种需求,我自己这方面的经验也不是特别充足,在我自己的认知中,通常情况下,会通过下面的步骤去优化一个慢日志较多MySQL服务。
AsiaYe
2020/11/02
9290
MySQL Profile在5.7的简单测试(r10笔记第50天)
MySQL Profile对于分析执行计划的开销来说,还是有一定的帮助,至少在分析一些性能问题的时候有很多的参考依据。 我在5.6, 5.7版本中进行了测试,没发现差别,还是以5.7为例进行演示吧。 mysql> select version(); +-----------+ | version() | +-----------+ | 5.7.10 | +-----------+ 1 row in set (0.00 sec) 传统的使用Profile都是使用show profile这样的命令方式,这
jeanron100
2018/03/20
1.1K0
mysql性能分析工具show profile(翻译)
SHOW PROFILE以及SHOW PROFILES语句可以显示当前会话过程中执行的sql语句的性能(profiling)信息。
跑马溜溜的球
2022/03/07
5940
mysql语句性能开销检测profiling详解
之前我介绍过msyql查询优化explain检查命令的使用,explain主要是检查sql语句的基本性能,sql是否优秀,但不能查看具体的涉及硬件资源的开销,今天要介绍的这个profiling工具可以更细节的查看资源的开销,比较详细。 首先这款性能检查工具是针对每个session生效的,session结束了就要重要发起查询检测。 默认是关闭的,需要手动开启: SET profiling = 1; 开启之后,发往mysql服务器的语句可以通过SHOW PROFILES显示出来,默认显示15条,最大设置为100
Java技术栈
2018/03/29
1.2K0
MySQL SQL 优化命令行&问题 SQL 抓取方式
对于数据库来说安装,部署几乎是一次性的。后期的管理和优化是持续性的工作。 对于MySQL来说,可以说90%问题都在SQL语句上面。从问题SQL的筛选和优化,在MySQL环境下常用哪些方式。(以下版本是MySQL8.0.23) MySQL优化前置知识基础
数据和云
2021/03/09
8940
MySQL SQL 优化命令行&问题 SQL 抓取方式
【MySQL高级】MySQL的优化
在应用的的开发过程中,由于初期数据量小,开发人员写 SQL 语句时更重视功能上的实现,但是
陶然同学
2023/02/24
1.2K0
【MySQL高级】MySQL的优化
「Mysql优化大师一」mysql服务性能剖析工具
方法一: 全局变量设置,将 slow_query_log 全局变量设置为“ON”状态 mysql> set global slow_query_log='ON'; 设置慢查询日志存放的位置 mysql> set global slow_query_log_file='/usr/local/mysql/data/slow.log'; 查询超过1秒就记录 mysql> set global long_query_time=1;
源码之路
2020/09/24
1.2K0
「Mysql优化大师一」mysql服务性能剖析工具
高性能MySQL(二):服务器性能剖析
在他们的技术咨询生涯中,最常碰到的三个性能相关的服务请求是:如何确认服务器是否达到了性能最佳的状态、找出某条语句为什么执行不够快,以及诊断被用户描述成“停顿”、“堆积”或“卡死”的某些间歇性疑难杂症。
看、未来
2021/09/18
8010
干货|MySQL性能优化的4个小技巧
  MySQL性能优化是一个老生常谈的问题,无论是在实际工作中还是面试中,都不可避免遇到相应的场景,下面博主就总结一些能够帮助大家解决这个问题的小技巧。
IT学习日记
2022/09/13
9100
干货|MySQL性能优化的4个小技巧
《高性能MySQL》读书笔记
第二层架构是MySQL比较有意思的部分,大多数MySQL的核心服务功能都在这一层,包括增删查改以及所有的内置函数。 所有跨存储引擎的功能都在这一层实现,存储过程、触发器、视图等。
看、未来
2022/05/06
4100
《高性能MySQL》读书笔记
Mysql高级2-SQL性能分析
  MySQL客户端 连接成功后,通过show [session | global] status 命令可以提供服务器状态信息,通过如下指令,可以查看当前数据库的insert,update,dalete,select的访问频次
Se7eN_HOU
2023/07/31
2650
Mysql基础篇--面试如何定位低效率sql语句
当面对一个sql性能问题,我们应该从何处入手使得尽快定位问题sql,我们从基础的命令开始
小土豆Yuki
2020/06/15
1.1K0
相关推荐
MySQL数据库原理学习(十)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验