iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mysql中如何使用show profiles分析sql性能
  • 908
分享到

mysql中如何使用show profiles分析sql性能

2024-04-02 19:04:59 908人浏览 独家记忆
摘要

这篇文章主要介绍了Mysql中如何使用show profiles分析sql性能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Show pro

这篇文章主要介绍了Mysql中如何使用show profiles分析sql性能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

Show profiles是5.0.37之后添加的,要想使用此功能,要确保版本在5.0.37之后。
 
查看一下我的版本
> Select  version();
+---------------------+
| version()           |
+---------------------+
| 5.0.82-commUnity-nt |
+---------------------+
  www.2cto.com  
1 row in set (0.00 sec)
 
版本是支持show profiles功能的。接下来进入mysql性能跟踪诊断的世界
 
查看是否打开了profiles功能,默认是关闭的
 
mysql> use test;
 
Database changed
 
mysql> show profiles;
 
Empty set (0.00 sec)
 
显示为空,说明profiles功能是关闭的。下面开启
 
mysql> set profiling=1;
 
Query OK, 0 rows affected (0.00 sec)
 
执行下面的查询
  www.2cto.com  
mysql> explain select distinct player_idfrom task limit 20;
 
mysql> select distinct player_id from task ;
 
然后执行 show profiles
 
mysql> show profiles;
 
+----------+------------+------------------------------------------------------+
 
| Query_ID | Duration   | Query                                               |
 
+----------+------------+------------------------------------------------------+
 
|       1 | 0.00035225 | explain select distinct player_id from task limit 20 |
 
|       2 | 1.91772775 | select distinct player_id from task                  |
 
+----------+------------+------------------------------------------------------+
 
此时可以看到执行select distinct player_id from task 用了1.91772775秒的时间
 
根据query_id 查看某个查询的详细时间耗费
 
mysql> show profile for query 2;
  www.2cto.com  
+----------------------+----------+
 
| Status               | Duration |
 
+----------------------+----------+
 
| starting             | 0.000052 |
 
| Opening tables       | 0.000009 |
 
| System lock          | 0.000003 |
 
| Table lock           | 0.000007 |
 
| init                 | 0.000013 |
 
| optimizing           | 0.000003 |
 
| statistics           | 0.000009 |
 
| preparing            | 0.000008 |
 
| Creating tmp table   | 0.000074 |
 
| executing            | 0.000002 |
 
| Copying to tmp table |1.916551 |
  www.2cto.com  
| Sending data         | 0.000667 |
 
| end                  | 0.000004 |
 
| removing tmp table   | 0.000065 |
 
| end                  | 0.000002 |
 
| end                  | 0.000002 |
 
| query end            | 0.000003 |
 
| freeing items        | 0.000245 |
 
| closing tables       | 0.000006 |
 
| logging slow query   | 0.000002 |
 
| cleaning up          | 0.000003 |
 
+----------------------+----------+
 
可以看到红色字体部分耗费了大量时间,这是因为distinct查看会用到临时表
 
那么可不可以查看占用cpu、 io等信息呢
 
 mysql> show profile block io,cpu for query2;
 
+----------------------+----------+----------+------------+--------------+------
 
---------+
 
| Status               | Duration | CPU_user |CPU_system | Block_ops_in | Block
 
_ops_out |
 
+----------------------+----------+----------+------------+--------------+------
  www.2cto.com  
---------+
 
| starting             | 0.000052 |     NULL |       NULL |         NULL |
 
   NULL |
 
| Opening tables       | 0.000009 |     NULL |       NULL |         NULL |
 
   NULL |
 
| System lock          | 0.000003 |     NULL |       NULL |         NULL |
 
   NULL |
 
| Table lock           | 0.000007 |     NULL |       NULL |         NULL |
 
   NULL |
 
| init                 | 0.000013 |     NULL |       NULL |         NULL |
 
   NULL |
 
| optimizing           | 0.000003 |     NULL |       NULL |         NULL |
 
   NULL |
 
| statistics           | 0.000009 |     NULL |       NULL |         NULL |
 
   NULL |  www.2cto.com  
 
| preparing            | 0.000008 |     NULL |       NULL |        NULL |
 
   NULL |
 
| Creating tmp table   | 0.000074 |     NULL |       NULL |         NULL |
 
   NULL |
 
| executing            | 0.000002 |     NULL |       NULL |         NULL |
 
   NULL |
 
| Copying to tmp table | 1.916551 |     NULL |       NULL |        NULL |
 
   NULL |
 
| Sending data         | 0.000667 |     NULL |       NULL |         NULL |
 
   NULL |
 
| end                  | 0.000004 |     NULL |       NULL |         NULL |
 
   NULL |
 
| removing tmp table   | 0.000065 |     NULL |       NULL |         NULL |
 
   NULL |
 
| end                  | 0.000002 |     NULL |       NULL |         NULL |
 
   NULL |
 
| end                  | 0.000002 |     NULL |       NULL |         NULL |
 
   NULL |
 
| query end            | 0.000003 |     NULL |       NULL |         NULL |
 
   NULL |
 
| freeing items        | 0.000245 |     NULL |       NULL |         NULL |
 
   NULL |
 
| closing tables       | 0.000006 |     NULL |       NULL |         NULL |
 
   NULL |
  www.2cto.com  
| logging slow query   | 0.000002 |     NULL |       NULL |         NULL |
 
   NULL |
 
| cleaning up          | 0.000003 |     NULL |       NULL |         NULL |
 
   NULL |
 
+----------------------+----------+----------+------------+--------------+------
另外还可以看到memory,swaps,context switches,source 等信息
 

感谢你能够认真阅读完这篇文章,希望小编分享的“mysql中如何使用show profiles分析sql性能”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网数据库频道,更多相关知识等着你来学习!

您可能感兴趣的文档:

--结束END--

本文标题: mysql中如何使用show profiles分析sql性能

本文链接: https://www.lsjlt.com/news/71486.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql中如何使用show profiles分析sql性能
    这篇文章主要介绍了mysql中如何使用show profiles分析sql性能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Show pro...
    99+
    2024-04-02
  • 如何在MySQL中使用show processlist命令检视性能
    这篇文章给大家介绍如何在MySQL中使用show processlist命令检视性能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。user列,显示单前用户,如果不是root,这个命令就...
    99+
    2024-04-02
  • 如何理解MySQL SQL Profiler性能分析器
    这篇文章给大家介绍如何理解MySQL SQL Profiler性能分析器,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 MySQL SQL Profile...
    99+
    2024-04-02
  • 如何使用VisualVM分析性能
    这篇文章主要讲解了“如何使用VisualVM分析性能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用VisualVM分析性能”吧! 这里需要使用一个...
    99+
    2024-04-02
  • 如何分析SAP Marketing Cloud的Contacts和Profiles功能
    这篇文章将为大家详细讲解有关如何分析SAP Marketing Cloud的Contacts和Profiles功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。作为一个营销人员该怎么使用SA...
    99+
    2023-06-03
  • 《MySQL高级篇》七、性能分析工具的使用(慢查询日志 | EXPLAIN | SHOW PROFILING | 视图分析 )
    📒博客首页:热爱编程的大李子 📒 🌞文章目的:性能分析工具的使用(慢查询日志 | EXPLAIN | SHOW PROFILING | 视图分析 )🌞 ⛅️文章出处:M...
    99+
    2023-08-18
    MySQL 数据库
  • MySQL如何使用profile分析语句性能消耗
    小编给大家分享一下MySQL如何使用profile分析语句性能消耗,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!MySQL使用p...
    99+
    2024-04-02
  • 如何使用pt-stalk分析MySQL的性能波动
    小编给大家分享一下如何使用pt-stalk分析MySQL的性能波动,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 简介 ...
    99+
    2024-04-02
  • Navicat如何分析SQL查询的性能
    Navicat并没有内置的性能分析工具,但是可以通过以下方法来分析SQL查询的性能: 使用EXPLAIN命令:在SQL查询语句前加...
    99+
    2024-05-10
    Navicat
  • Mysql如何使用profile分析sql开销
    小编给大家分享一下Mysql如何使用profile分析sql开销,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!Mysql使用profile分析sql开销1.使用之前先查看当前数据库的版本信息,...
    99+
    2024-04-02
  • 如何解析MySQL性能优化中的SQL优化
    如何解析MySQL性能优化中的SQL优化,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。注:以 MySQL 为背景,很多内容同时适用于其他关系型...
    99+
    2024-04-02
  • 如何使用systemtap调试工具分析MySQL的性能
    这篇文章将为大家详细讲解有关如何使用systemtap调试工具分析MySQL的性能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、 分析SQL语句在执行各个阶段的消耗比...
    99+
    2024-04-02
  • MySQL SQL性能分析之慢查询日志、explain使用详解
    目录SQL执行频率慢查询日志profileexplainSQL执行频率 mysql 客户端连接成功后,通过 show [session|global] status 命令可以提供服务器状态信息。通过如下指令,可以查看当前...
    99+
    2023-04-14
    MySQL 慢查询日志 MySQL explain使用
  • MySQL SQL性能分析之慢查询日志、explain使用详解
    目录SQL执行频率慢查询日志profileexplainSQL执行频率 MySQL 客户端连接成功后,通过 show [session|global] status 命令可以提供服务...
    99+
    2023-05-16
    MySQL 慢查询日志 MySQL explain使用
  • 性能分析工具Systrace如何使用
    这篇“性能分析工具Systrace如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“性能分析工具Systrace如何使用...
    99+
    2023-07-05
  • 如何使用MySQL进行日志分析和性能调优?
    如何使用MySQL进行日志分析和性能调优?导语:MySQL是一种常见且强大的关系型数据库管理系统,被广泛应用于各种网站和应用程序中。本文将介绍如何使用MySQL的日志功能进行分析,并提供一些性能调优的方法和示例代码。一、MySQL的日志功能...
    99+
    2023-10-22
    MySQL 性能调优 日志分析
  • plsql如何看sql使用性能
    PL/SQL 提供了一些工具和方法来评估 SQL 的性能。以下是一些常用的方法: 使用 SQL Trace:通过在 PL/SQL ...
    99+
    2024-04-12
    plsql sql
  • 怎么对MySQL SQL语句性能进行分析
    本篇文章为大家展示了怎么对MySQL SQL语句性能进行分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。MySQL SQL语句性能分析 set prof...
    99+
    2024-04-02
  • Profiles 如何在Spring Boot 中配置与使用
    这期内容当中小编将会给大家带来有关Profiles 如何在Spring Boot 中配置与使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Spring Profiles 提供了一套隔离应用配置的方式,不...
    99+
    2023-05-31
    springboot profiles les
  • Linux 下如何使用NMON分析系统性能
    本篇文章为大家展示了Linux 下如何使用NMON分析系统性能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。下载相应 CPU 类型的版本:Pv [*c+H0http://nmon.sourcef...
    99+
    2023-06-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作