MySQL Profiling 的使用

MySQL Query Profiling源码深度剖析 4.1 Query Profiling用法详解 Query Profiling是MySQL数据库提供的一种SQL性能诊断工具, 本节通过对Profiling的简介,原理,使用方法以及案例的介绍,让读者学会如何在SQL优化的过程中,合理的去使用它。 4.1.1 Query Profiling简介 Query Profiling是MySQL数据库中提供的一种SQL性能诊断方法,用户可以在开启pro... 阅读详情

转自:http://www.cnblogs.com/ggjucheng/archive/2012/11/15/2772058.html

在本章第一节中我们还提到过通过 Query Profiler 来定位一条 Query 的性能瓶颈,这里我们再详细介绍一下 Profiling 的用途及使用方法。


要想优化一条 Query,我们就需要清楚的知道这条 Query 的性能瓶颈到底在哪里,是消耗的 CPU计算太多,还是需要的的 IO 操作太多?要想能够清楚的了解这些信息,在 MySQL 5.0 和 MySQL 5.1正式版中已经可以非常容易做到了,那就是通过 Query Profiler 功能。


MySQL 的 Query Profiler 是一个使用非常方便的 Query 诊断分析工具,通过该工具可以获取一条Query 在整个执行过程中多种资源的消耗情况,如 CPU,IO,IPC,SWAP 等,以及发生的 PAGE FAULTS,CONTEXT SWITCHE 等等,同时还能得到该 Query 执行过程中 MySQL 所调用的各个函数在源文件中的位置。

下面我们看看 Query Profiler 的具体用法。

1、 开启 profiling 参数

root@localhost : (none) 10:53:11> set profiling=1;
Query OK, 0 rows affected (0.00 sec)

通过执行 “set profiling”命令,可以开启关闭 Query Profiler 功能。


2、 执行 Query

复制代码
... ...
root@localhost : test 07:43:18> select status,count(*)
-> from test_profiling group by status;
+----------------+----------+
| status | count(*) |
+----------------+----------+
| st_xxx1 | 27 |
| st_xxx2 | 6666 |
| st_xxx3 | 292887 |
| st_xxx4 | 15 |
+----------------+----------+
5 rows in set (1.11 sec)
... ...
复制代码

在开启 Query Profiler 功能之后,MySQL 就会自动记录所有执行的 Query 的 profile 信息了。


3、获取系统中保存的所有 Query 的 profile 概要信息

复制代码
root@localhost : test 07:47:35> show profiles;
+----------+------------+------------------------------------------------------------+
| Query_ID | Duration | Query
|
+----------+------------+------------------------------------------------------------+
| 1 | 0.00183100 | show databases
|
| 2 | 0.00007000 | SELECT DATABASE()
|
| 3 | 0.00099300 | desc test
|
| 4 | 0.00048800 | show tables
|
| 5 | 0.00430400 | desc test_profiling
|
| 6 | 1.90115800 | select status,count(*) from test_profiling group by status |
+----------+------------+------------------------------------------------------------+
3 rows in set (0.00 sec)
复制代码

通过执行 “SHOW PROFILE” 命令获取当前系统中保存的多个 Query 的 profile 的概要信息。


4、针对单个 Query 获取详细的 profile 信息。


在获取到概要信息之后,我们就可以根据概要信息中的 Query_ID 来获取某个 Query 在执行过程中

详细的 profile 信息了,具体操作如下:


上面的例子中是获取 CPU 和 Block IO 的消耗,非常清晰,对于定位性能瓶颈非常适用。希望得到取其他的信息,都可以通过执行 “SHOW PROFILE *** FOR QUERY n” 来获取,各位读者朋友可以自行测试熟悉。

转自 《MySQL性能优化与架构设计》


【AIOPS实战】Dify+Zabbix:构建智能告警分析助手的核心架构与实现 本文详细介绍了如何利用Dify平台与Zabbix-MCP接口构建智能告警分析助手,实现自然语言查询告警、智能分析和报告生成。该系统通过AIOPS技术显著提升运维效率,支持中英文混合查询、自动根因分析,并内置多种优化方案确保稳定可靠。 阅读详情

相关推荐

基于Gardner环的QPSK定时同步MATLAB仿真:四倍采样与多场景性能分析

本文详细介绍了基于Gardner环的QPSK定时同步MATLAB仿真方法,重点分析了四倍采样技术在定时同步中的应用与性能优化。通过MATLAB代码实例展示了Gardner环的实现原理、多场景性能分析及常见问题解决方案,为数字通信系统的定时同步设计提供实用参考。

weixin_29083475的博客 373

mysql 性能分析之 profiling

1、首先查看此功能有没有开启,默认是OFF关闭状态 mysql> show variables like 'profiling%'; 2、开启profiling mysql> set profiling=1; #关闭profiling mysql> set profiling=0; 3、列出最近执行的SQL情况,默认15条 mysql> show profiles; +----------+------------+----------------------..

qq_58286127的博客 1370

狗都能看懂的MAML原理讲解和代码实现

meta-leaning指的是元学习,元学习是深度学习的一个分支,一个好的元模型(meta-learner)应该具备对新的、少量的数据做出快速而准确的学习。通俗的来讲, 对于人来说,给几张橘猫的图片让看一下,再给你几张没见过的英短猫图片,你一定能很快识别出来都是猫。但是对于神经网络来说,并非如此。如果让一个小汽车分类网络去识别不同的大货车,那效果肯定很差。而传统的CNN网络都是输入大量的数据,然后进行分类的学习。但是这样做的问题就是,神经网络的通用性太差了,根本达不到“智能”的标准。而人类的认知系统,可以通

个人学习笔记 6万+

MySQL中的SQL执行流程

SQL执行流程 MySQL的配置文件的位置 /etc/my.cnf MySQL中的SQL执行流程 MySQL的查询流程 查询缓存:Server如果在查询缓存中发现了这条SQL语句,就会直接将结果返回给客户端;如果没有,如果进入到解析器阶段。需要说明的是,因为查询混窜往往效率不高,所以在MySQL8.0之后就抛弃了这个功能 MySQL拿到一个查询请求后,会先到查询缓存看看,之前是不是执行过这条语句。之前执行过的语句及其结果可能会以key-value对的形式,被直接缓存在内存中。key是查询的语句,va

m0_67403240的博客 1270

论文阅读笔记:Extended Vision Transformer (ExViT) for Land Use and Land Cover Classification

注意力机制驱动的深度模型最近取得了成功,如最具代表性的视觉转换器(ViT),吸引了一波高级研究来探索它们对更广泛领域的适应。然而,遥感(RS)领域中基于Transformer的方法更关注单模态数据,这可能会在充分利用不断增长的多模态地球观测数据时失去可扩展性。为此,我们提出了一种新的多模式深度学习框架,通过在最小修改的情况下扩展传统的ViT,针对土地利用和土地覆盖(LULC)分类任务。

嗑研狗的日常 945

DeepSeek-V3本地Docker容器化部署

通过以上步骤,你可以在本地上成功通过容器化部署DeepSeek-V3。安装完成后,启动Docker Desktop。如果需要后台运行,可以加上。

u013302168的博客 2123

mysql语句性能开销检测profiling详解

之前我介绍过msyql查询优化explain检查命令的使用,explain主要是检查sql语句的基本性能,sql是否优秀,但不能查看具体的涉及硬件资源的开销,今天要介绍的这个profiling工具可以更细节的查看资源的开销,比较详细。 首先这款性能检查工具是针对每个session生效的,session结束了就...

weixin_34114823的博客 327

第1.2章 机器人SLAM计算机基础总结(二):VSCode教程及 AI等效率插件推荐

如何高效编写代码?怎样快速调试程序?**别担心,今天就给大家带来一款超强大的编程神器 ——VSCode,以及能让编程之路 “一马平川” 的实用插件推荐,无论你是新手小白还是资深大神,都能从中受益!

行知SLAM 1861

mysql profiling_mysql-profiling详解

要想优化一条 Query,我们就需要清楚的知道这条 Query 的性能瓶颈到底在哪里,是消耗的 CPU计算太多,还是需要的的 IO 操作太多?要想能够清楚的了解这些信息,在 MySQL 5.0 和 MySQL 5.1正式版中已经可以非常容易做到了,那就是通过 Query Profiler 功能。MySQL 的 Query Profiler 是一个使用非常方便的 Query 诊断分析工具,通过该工具...

weixin_35625530的博客 365

030、自动白平衡AWB实战:灰度世界、完美反射与色温估计的工程实现与局限

本文深入探讨了自动白平衡(AWB)算法在工程实践中的实现与局限性。作者结合实际项目经验,分析了灰度世界算法、完美反射算法和色温估计三种主流方法的优缺点和适用场景,并分享了调试过程中的关键技巧和常见陷阱。文章指出,纯色背景、多光源环境等特殊场景容易导致算法失效,需要通过混合策略和场景检测来优化。作者强调AWB调试需要大量实际场景测试,建议保留手动调节功能,并针对不同硬件配置进行参数标定。最后提出,AWB优化是一个持续迭代的过程,需要工程化的测试方法和数据处理能力。

zzfmlxs的博客 282

ORB-SLAM3算法2之EuRoc开源数据集运行ORB-SLAM3生成轨迹并用evo工具评估轨迹

ORB-SLAM3算法1 已成功编译安装ORB-SLAM3到本地,本篇目的是用EuRoc开源数据来运行ORB-SLAM3,并生成轨迹,最后用evo评估工具来评估ORB-SLAM3生成的轨迹和真值轨迹。

重点记录机器人和自动驾驶相关领域的技术,尤其是计算机视觉,视觉SLAM等,不仅有前言文献或必备算法的学习,也会有实际应用的点滴经验 3762

mysql 执行状态分析 show processlist

执行状态分析 l Sleep状态 n 通常代表资源未释放,如果是通过连接池,sleep状态应该恒定在一定数量范围内 n 实战范例:因前端数据输出时(特别是输出到用户终端)未及时关闭数据库连接,导致因网络连接速度产生大量sleep连接,在网速出现异常时,数据库too many connections挂死。 n 简单解读,数据查询和执行通常只需要不到0.01秒,而网络输...

海阔天空 231

Horn-Schunck光流算法的Python实现

光流是计算机视觉领域中的一个重要概念,它描述了图像中物体在时间上的运动。Horn-Schunck光流算法是一种经典的光流估计方法,通过对图像的亮度变化进行建模,来估计像素的运动速度。在本文中,我们将使用Python实现Horn-Schunck光流算法,并提供相应的源代码。请注意,该算法假设图像上的亮度变化主要由物体的运动引起,并且假设光流在整个图像上是稠密的。在上面的示例中,我们首先读取了两个输入图像,然后使用我们实现的Horn-Schunck光流算法估计了它们之间的光流。首先,我们需要导入一些必要的库。

持续更新 495

mysql profiling_MySQL profiling使用

Mysql SQL优化工具我们常使用explain去解析sql的执行,根据执行计划去评估sql的性能消耗瓶颈,而MYSQL Profiling提供我们详细的SQL执行过程中的cpu/io/swap/memory等使用情况以及每个过程执行时间消耗。主要用途为1:查看SQL执行消耗瓶颈位置2、查看sql的执行过程,每步操作在具体哪个源码文件的什么位置这里简单介绍下其使用方式:profiling在mys...

weixin_30727701的博客 590

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

profiling mysql_MySQL-profiling的使用

1.有关profile的解释--当前版本mysql> show variables like 'version';+---------------+------------+| Variable_name | Value |+---------------+------------+| version | 5.5.29-log |+---------------+---...

weixin_39709367的博客 271

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

MySQL之profiling

MySQL5.0版本之后开放了profiling功能,通过此功能可以查询某个SQL的详细执行计划。 1、开启profiling mysql> show variables like '%profil%'; +...

cuiruidu3106的博客 200

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

MySQL中profiling的使用

MySQL5.0之后便开始支持profiling,用于诊断一条sql在执行过程中的资源消耗情况,可以通过profiling来查看慢sql到底慢在哪里,从而进行合理的优化 查看profiling是否支持和开启 show variables like '%profil%' Variable_name Value have_profiling(是否支持profiling) YES profiling(是否开启profiling) ON profiling_history_size(p

progammer10086的博客 1022

profiling mysql_MySQL profiling 查找Query瓶颈

今天接触到MySQL系统调优的一个参数:profiling,下面就详细的说一说这个参数是干什么的,怎么用,一,干什么的MySQL5.0.37版本以上支持PROFILING调试功能,让您可以了解SQL语句消耗资源的详细信息。因为它需要调用系统的getrusage()函数,所以只是在Linux/Unix类平台上才能使用,而不能在Windows平台上使用。而且,PROFILING是针对处理进程(proc...

weixin_33936194的博客 144

profiling mysql_MySQL优化工具之 profiling

MySQL优化工具之profiling使用慢查询日志分析出慢查询语句后,用profiling分析该语句的优化后执行效果。查看慢查询设置mysql> show variables like "%slow%";+---------------------+---------------------------------+| Variable_name | Value ...

weixin_36342356的博客 99

mysql profiling表_MySQL 使用 profiling

在工作中,经常会遇到要优化语句的场景,MySQL的Query Profiler就是一个很好的工具,使用方法也很简单,介绍如下:mysql> set profiling=1; /*开启profiling*/Query OK, 0 rows affected (0.00 sec)mysql> show variables lik...

weixin_35319666的博客 239

mysql的profiling

mysql的profiling 1,开启profile SET profiling = 1; 2,查看共有多少query SHOW PROFILES; 3, 查看具体某个query的信息: show profile for query n 具体用法: SHOW PROFILE [type [, type] … ] [FOR QUERY n] [LIMIT row_count [OFFSET ...

zhzh5275的博客 422

MySQL中使用PROFILING来查看SQL执行流程

使用PROFILING来查看SQL执行流程

zxrhhm的博客 999

mysql profiling表_mysql8 参考手册-INFORMATION_SCHEMA PROFILING表

PROFILING表提供语句分析信息。其内容对应于SHOW PROFILE和SHOW PROFILES 语句产生的信息(请参见第13.7.7.30节“ SHOW PROFILE语句”)。除非profiling 会话变量设置为1,否则该表为空。注意该表已弃用,并将在以后的MySQL版本中删除。改用性能模式;请参见 第26.19.1节“使用性能模式进行查询分析”。该PROFILING表包含以下列:QU...

weixin_42537499的博客 423

MySQL优化——使用profiling

MySQL在5.0之后有个分析查询语句非常重要的利器,就是profiling。 要是用profiling,我们首先要打开profiling。 set profiling=on; 设置了profiling之后,你的每一个sql语句都会被记录分析。使用show profiles;可以查看在打开profiling之后所有被记录的操作。(这里只是为了举例,使用了非常简单的查询) +---------...

dreamboycs的博客 227

profiling mysql_mysql语句性能开销检测profiling详解

之前我介绍过msyql查询优化explain检查命令的使用,explain主要是检查sql语句的基本性能,sql是否优秀,但不能查看具体的涉及硬件资源的开销,今天要介绍的这个profiling工具可以更细节的查看资源的开销,比较详细。首先这款性能检查工具是针对每个session生效的,session结束了就要重要发起查询检测。默认是关闭的,需要手动开启:SET profiling = 1;开启之后...

weixin_39603492的博客 269

mysql profiling_MySQL索引及Profiling小知识

MySQL索引及Profiling小知识文章作者:网友投稿 发布时间:2010-08-15 10:04:57 来源:网络一些常用的MySQL索引及Profiling小知识, 一,查看某个表的索引 mysql show indexes from [tablename] \G Table: album Non_unique: 0 Key_name: PRIMARY Seq_in_index: 1 Co...

weixin_42425075的博客 103
上一篇: 村上春树帮你解答四个职场关键问题,“请你也找到你的做法”
下一篇: 查看mysql库大小,表大小,索引大小
UU_Yang
博客等级 码龄23年 926粉丝 213原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值