如何使用SQL Profiler 性能分析器

2023-05-16

http://blog.csdn.net/ylqmf/article/details/6541625


ysql 的 sql 性能分析器主要用途是显示 sql 执行的整个过程中各项资源的使用情况。分析器可以更好的展示出不良 SQL 的性能问题所在。 
下面我们举例介绍一下 MySQL SQL Profiler 的使用方法: 


  • 首先,开启 MySQL SQL Profiler


mysql> SELECT @@profiling; 
+-------------+ 
| @@profiling | 
+-------------+ 
| 0 | 
+-------------+ 
1 row in set (0.00 sec) 
mysql> SET profiling = 1; 
Query OK, 0 rows affected (0.00 sec) 
mysql> SELECT @@profiling; 
+-------------+ 
| @@profiling | 
+-------------+ 
| 1 | 
+-------------+ 
1 row in set (0.00 sec) 
默认情况下 profiling 的值为 0 表示 MySQL SQL Profiler 处于 OFF 状态,开启 SQL 性能分析器后 profiling 的值为 1. 


  • 通过 sql 性能分析器,我们来对比一下 下列语句前后 2 次执行过程的差异,对我们了解 sql 的详细执行过程是非常有帮助的。


mysql> create table t_engines select * from t_engines1; 
Query OK, 57344 rows affected (0.10 sec) 
Records: 57344 Duplicates: 0 Warnings: 0 
mysql> select count(*) from t_engines; 
+----------+ 
| count(*) | 
+----------+ 
| 57344 | 
+----------+ 
1 row in set (0.00 sec) 
mysql> select count(*) from t_engines; 
+----------+ 
| count(*) | 
+----------+ 
| 57344 | 
+----------+ 
1 row in set (0.00 sec) 
mysql> SHOW PROFILES; 
+----------+------------+-------------------------------------------------+ 
| Query_ID | Duration | Query | 
+----------+------------+-------------------------------------------------+ 
| 26 | 0.10213775 | create table t_engines select * from t_engines1 | 
| 27 | 0.00032775 | select count(*) from t_engines | 
| 28 | 0.00003850 | select count(*) from t_engines | 
+----------+------------+-------------------------------------------------+ 
15 rows in set (0.01 sec)
mysql> SHOW PROFILE FOR QUERY 27; 
+--------------------------------+------------+ 
| Status | Duration | 
+--------------------------------+------------+ 
| (initialization) | 0.00000425 | 
| checking query cache for query | 0.00004050 | 
| checking permissions | 0.00001050 | 
| Opening tables | 0.00018250 | 
| System lock | 0.00000450 | 
| Table lock | 0.00001775 | 
| init | 0.00001075 | 
| optimizing | 0.00000550 | 
| executing | 0.00002775 | 
| end | 0.00000450 | 
| query end | 0.00000325 | 
| storing result in query cache | 0.00000400 | 
| freeing items | 0.00000400 | 
| closing tables | 0.00000500 | 
| logging slow query | 0.00000300 | 
+--------------------------------+------------+ 
15 rows in set (0.00 sec) 
mysql> SHOW PROFILE FOR QUERY 28; 
+-------------------------------------+------------+ 
| Status | Duration | 
+-------------------------------------+------------+ 
| (initialization) | 0.00000350 | 
| checking query cache for query | 0.00000750 | 
| checking privileges on cached query | 0.00000500 | 
| checking permissions | 0.00000525 | 
| sending cached result to client | 0.00001275 | 
| logging slow query | 0.00000450 | 
+-------------------------------------+------------+ 
6 rows in set (0.00 sec)
mysql> SELECT sum( FORMAT(DURATION, 6)) AS DURATION FROM INFORMATION_SCHEMA.PROFILING WHERE QUERY_ID =27 ORDER BY SEQ; 
+----------+ 
| DURATION | 
+----------+ 
| 0.000326 | 
+----------+ 
1 row in set (0.00 sec) 
mysql> SELECT sum( FORMAT(DURATION, 6)) AS DURATION FROM INFORMATION_SCHEMA.PROFILING WHERE QUERY_ID =28 ORDER BY SEQ; 
+----------+ 
| DURATION | 
+----------+ 
| 0.000039 | 
+----------+ 
1 row in set (0.00 sec) 
mysql> 
从上面的例子中我们可以清晰的看出 2 次执行 count 语句的差别, SHOW PROFILE FOR QUERY 27 展现的是第一次 count 统计的执行过程,包含了 Opening tables 、 Table lock 等操作 。而 SHOW PROFILE FOR QUERY 28 展示了第二次 count 统计的执行过程 , 第二次 count 直接从查询缓存中返回 count 统计结果,通过对比 2 次统计的总执行时间发现,缓存读的速度接近物理读的 10 倍。通过使用 SQL 性能分析器可以帮助我们对一些比较难以确定性能问题的 SQL 进行诊断,找出问题根源。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用SQL Profiler 性能分析器 的相关文章

  • 6. 混在2002 - 欢乐的世界杯

    http blog csdn net hello world2001 article details 7229422 写混在日本公司的日子前 xff0c 先简单回忆下2002年幸福的上半年 xff0c 以及随后我作出的一个影响我至今的决定吧
  • 无病呻吟6:F4,圈子,与硬通货

    http blog csdn net hello world2001 article details 7229429 F4是个小圈子 xff0c 当然不是台湾那几个奶油小生 xff0c 而是这个日本公司本人所在部门内的一个小团体 其中的成员
  • 7. 路在何方:第一次选择

    http blog csdn net hello world2001 article details 7229430 2009年那次跳槽的时候 xff0c 不止一次的听到猎头和面试公司的人对我说过 xff0c 你的工作背景非常漂亮 xff0
  • 9. 混在2002:和闷骚男的“同居”生活 - 1

    http blog csdn net hello world2001 article details 7229434 说点开心的事情 xff0c 我当时的两个室友 跟这两个人成为死党 xff0c 都是因为合租的缘故 两个人一个叫 老灵通 x
  • 10. 混在2002:和闷骚男的“同居”生活 - 2

    http blog csdn net hello world2001 article details 7248920 继续说当时的室友 xff0c 这两人都是比较有想法 xff0c 有点小浪漫 xff0c 敢想敢为 xff0c 又比较有毅力
  • 11. 挑战500强管理职位前的苦逼生活

    http blog csdn net hello world2001 article details 7351962 至于我当时的状态 xff0c 则是在迷茫中四处寻找突破口 在一番折腾后 xff0c 我终于定下了一个宏大的目标 xff0c
  • 第二次跳槽:意料之外的结局 - 上

    http blog csdn net hello world2001 article details 7352015 2006年的跳槽是我所有跳槽经历中耗费时间最长 xff0c 最痛苦 xff0c 也最纠结的一次 既有正沉浸在即将成功中的喜
  • 14:第二次跳槽:意料之外的结局 - 下

    http blog csdn net hello world2001 article details 7352028 这也是一个出乎我意料之外的机会 在接到这个电话的时候 xff0c 我正跟Accenture IBM HP这些公司打得火热
  • 推荐一个全新硬件/嵌入式刷题网站!免费!好用!

    越来越多的人才从转码变成了转硬件 xff0c 但是转岗过程中会遇到一些问题 xff0c 比如 xff1a 对学习路线不清晰 找不到专业的练习题 企业真题搜寻困难 xff0c 不知道笔面试考察那些内容 基础编程是一个计算机专业的必备技能 xf
  • my.cnf

    http wenku baidu com view d10a7ea20029bd64783e2cdd html My cnf配置选项 mysqld程序 目录和文件 basedir 61 path 使用给定目录作为根目录 安装目录 chara
  • mysql 修改root密码的方法

    如果是刚安装成功后 xff0c 密码为空 xff0c 修改密码方法为 mysqladmin u root password 39 11111 39 密码不为空 xff0c 修改密码方法有两种 xff1a 1 mysqladmin u roo
  • mysqldump用法小结

    1 备份单个数据库 普通备份 xff1a root 64 A server mysqldump u root p 39 111111 39 newjueqi default gt tmp newjueqi default sql root
  • MySQL数据库性能优化之缓存参数优化

    作者 xff1a Sky Jian 可以任意转载 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明 链接 xff1a http isky000 com database mysql perfornamce tuning
  • magento中的启用https

    在Magento的后台管理中 General gt web gt secure 有安全链接的设置 xff0c 所谓安全链接 xff0c 是指启用了https 协议的链接 百度百科中关于https的介绍 xff08 http baike ba
  • 解决magento中guest页面cookie保存时间过短问题

    在magento新的企业版11 xff0c 有个新的功能退货 xff08 RMA xff09 xff0c 不仅能退货 xff0c 还能以guest的身份查看订单的各种信息 xff0c 但在IE下有个问题 xff1a cookies的保存时间
  • 指定magento后台使用的theme

    众所周知 xff0c magneto是能后台配置中指定前台使用的是哪个theme xff0c 但后台呢 xff1f 指定后台的theme xff0c 需要在添加如下的配置 xff1a lt config gt lt stores gt lt
  • MySQL 数据库性能优化之表结构优化

    作者 xff1a Sky Jian 可以任意转载 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明 链接 xff1a http isky000 com database mysql perfornamce tuning
  • MySQL 数据库性能优化之索引优化

    作者 xff1a Sky Jian 可以任意转载 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明 链接 xff1a http isky000 com database mysql performance tuning
  • MySQL 数据库性能优化之SQL优化

    作者 xff1a Sky Jian 可以任意转载 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及 版权声明 链接 xff1a http isky000 com database mysql performance tuning
  • “巨型”的ESP8266模块,快来围观。

    作者 xff1a 晓宇 xff0c 排版 xff1a 晓宇 微信公众号 xff1a 芯片之家 xff08 ID xff1a chiphome dy xff09 01 巨型ESP8266 ESP8266几乎无人不知 xff0c 无人不晓了吧

随机推荐

  • MySQL数据库性能优化之存储引擎选择

    作者 xff1a Sky Jian 可以任意转载 但转载时务必以超链接形式标明文章原始出处 和 作者信息 及版权声明 链接 xff1a http isky000 com database mysql performance tuning s
  • 配置magento后台翻译

    同事在magento中添加了若干翻译 xff0c 但总是没法再后台显示 xff0c 我帮忙查了很久 xff0c 终于找到问题所在了 xff0c 原来没有配置对应module的后台翻译文件 xff0c 所以在后台显示不出翻译 这里贡献一份前后
  • apache安装新模块的方法

    1 检查是否安装 a 编译安装http bin apachectl l grep mod expires b 如果是以DSO方式编译的 xff0c 则查看 ll modules grep expires 注意 xff0c 以上两种情况不能同
  • prototype.js中hide()和show()的一个注意事项

    在项目中遇到一个问题 xff0c 用prototype js的show xff08 xff09 方法要设置某个div为display block 但总是没法成功 xff0c 后来查了手册 xff1a http api prototypejs
  • doxygentoolkit.vim 用法

    http blog chinaunix net space php uid 61 20570759 amp do 61 blog amp id 61 1922274 早就安上了这个东西 xff0c 只是一直没研究它怎么用 因为 emacs
  • 一些vim知识的摘录

    h function list 看内置函数 b name variable local to a buffer w name variable local to a window g name global variable also in
  • 为什么 Vim 使用 HJKL 键作为方向键

    出处 xff1a http blog jobbole com 18650 导读 xff1a 关于这个问题 xff0c 以前网络上有一种说法 xff0c 手指放在键盘上输入时 xff0c HJKL 比方向键距离手指更近 xff0c 自然输入效
  • 蚂蚁变大象:浅谈常规网站是如何从小变大的(一)

    http zgwangbo blog 51cto com 4977613 849529 标签 xff1a 架构 web 原创作品 xff0c 允许转载 xff0c 转载时请务必以超链接形式标明文章 原始出处 作者信息和本声明 否则将追究法律
  • 【转】高效使用vim

    出处 xff1a http www cnblogs com hyddd archive 2010 04 08 1706863 html 英文出处 xff1a jmcpherson org editing html 翻译引用 xff1a ti
  • 浅谈HTTP中Get与Post的区别

    http www cnblogs com hyddd archive 2009 03 31 1426026 html Http定义了与服务器交互的不同方法 xff0c 最基本的方法有4种 xff0c 分别是GET xff0c POST xf
  • PID算法搞不懂?看这篇文章就够了。

    点击上方 大鱼机器人 xff0c 选择 置顶 星标公众号 福利干货 xff0c 第一时间送达 xff01 转自知乎 xff1a jason 原文链接 xff1a https zhuanlan zhihu com p 74131690 1 目
  • Http Message结构学习总结

    http www cnblogs com hyddd archive 2009 04 19 1438971 html 最近做的东西需要更深入地了解Http协议 xff0c 故死磕了一下RFC2616 xff0d HTTP 1 1协议 xff
  • 浅析数字证书

    出处 xff1a http www cnblogs com hyddd archive 2009 01 07 1371292 html hyddd原创 xff0c 转载请说明出处 gt 最近看会Session hijack的东西 xff0c
  • Cookie小记

    出处 xff1a http www cnblogs com hyddd archive 2008 12 26 1363229 html 最近在工作上经常看一些安全相关的东西 xff0c Cookie以前看过 xff0c 但了解不深 xff0
  • Session小记

    出处 xff1a http www cnblogs com hyddd archive 2008 12 29 1364646 html 看了一些Session的资料 xff0c 在这里再总结一下Session相关的知识 很多是从网上搜集的资
  • 点击<a href="#"/>后屏幕滚动问题

    问 xff1a 当 lt a href 61 34 34 gt 点击后屏幕会滚动到最上面 xff0c 有啥办法不让屏幕滚动 xff1f 答 xff1a href 61 34 javascript void 0 34 或 nclick 61
  • 内存管理知识

    原创作品 xff0c 允许转载 xff0c 转载时请务必以超链接形式标明文章 原始出处 作者信息和本声明 否则将追究法律责任 http xqtesting blog 51cto com 4626073 808548 一般的程序语言 xff0
  • 用户体验:别让我想,别让我停!

    http xqtesting blog 51cto com 4626073 813561 在交互设计中 xff0c 存在着几条普遍的法则令网页设计更有效 最重要的一条是 别让我思考 xff0c 越简洁越好 比如不要因为奇怪的表达方式强迫用户
  • MySQL慢查询的两种分析方案 slow sql

    http blog csdn net ylqmf article details 6541542 前一段日子 xff0c 我曾经设置了一次记录在MySQL数据库中对慢于1秒钟的SQL语句进行查询 想起来有几个十分设置的方法 xff0c 有几
  • 如何使用SQL Profiler 性能分析器

    http blog csdn net ylqmf article details 6541625 ysql 的 sql 性能分析器主要用途是显示 sql 执行的整个过程中各项资源的使用情况 分析器可以更好的展示出不良 SQL 的性能问题所在