`

mysql中profile的使用

 
阅读更多
mysql 的 sql 性能分析器主要用途是显示 sql 执行的整个过程中各项资源的使用情况。分析器可以更好的展示出不良 SQL 的性能问题所在。

  首先在5.5中已经可以使用了,默认是关闭的,查看是否打开:
1) 开启
   mysql> SET profiling=1;或 SET profiling=on;

2)
用法
SHOW PROFILE [type [, type] … ]
[FOR QUERY n]
[LIMIT row_count [OFFSET offset]]

type:
ALL
| BLOCK IO
| CONTEXT SWITCHES
| CPU
| IPC
| MEMORY
| PAGE FAULTS
| SOURCE
| SWAPS

SHOW PROFILES显示最近发给服务器的多条语句,条数根据会话变量profiling_history_size定义,默认是15,最大值为100。设为0等价于关闭分析功能。

SHOW PROFILE FOR QUERY n,这里的n就是对应SHOW PROFILES输出中的Query_ID。


例如:

   mysql> show profiles;
+----------+-------------+---------------------------------------+
| Query_ID | Duration    | Query                                 |
+----------+-------------+---------------------------------------+
|        1 |  0.00037700 | alter table table1 drop column c3 int |
|        2 | 70.37123800 | alter table table1 drop column c3

  则:
  mysql> SHOW PROFILE FOR QUERY 2;  #查看alter table table1 drop column c3的分析

然后显示一大堆的信息,如:
Status                       | Duration  |
+------------------------------+-----------+
| starting                     |  0.000183 |
| checking permissions         |  0.000057 |
| checking permissions         |  0.000059 |
| init                         |  0.000060 |
| Opening tables               |  0.000071 |
| System lock                  |  0.000062 |
| setup                        |  0.000080 |
| creating table               |  0.005052 |
| After create                 |  0.000220 |
| copy to tmp table            |  0.000244 |
| rename result table          | 70.364027 |
| end                          |  0.000575 |
| Waiting for query cache lock |  0.000062 |
| end                          |  0.000075 |
| query end                    |  0.000057 |
| closing tables               |  0.000061 |
| freeing items                |  0.000080 |
| logging slow query           |  0.000056 |
| logging slow query           |  0.000098 |
| cleaning up                  |  0.000059 |
+------------------------------+-----------+
20 rows in set (0.00 sec)

  ype是可选的,取值范围可以如下:

ALL 显示所有性能信息
BLOCK IO 显示块IO操作的次数
CONTEXT SWITCHES 显示上下文切换次数,不管是主动还是被动
CPU 显示用户CPU时间、系统CPU时间
IPC 显示发送和接收的消息数量
MEMORY [暂未实现]
PAGE FAULTS 显示页错误数量
SOURCE 显示源码中的函数名称与位置
SWAPS 显示SWAP的次数

mysql> show profile cpu for query 2;

 
分享到:
评论

相关推荐

    Mysql Profile

    <add name="MySqlProfile" type="YourNamespace.MySQLProfileProvider" connectionStringName="MySqlConnection" applicationName="/" /> </profile> <add name="MySqlConnection" connectionString="Server=...

    MySqlProfile

    在给定的压缩包文件中,我们有四个文件,其中三个是.cs源代码文件,通常用于编写C#代码,而另一个是安装说明,可能是文本文件或者PDF,用于指导用户如何配置和部署这个MySQLProfile系统。 在Asp.net开发中,MySQL...

    mysql中profile的使用方法教程

    MySQL中的`PROFILE`功能是一种用于分析SQL语句执行性能的工具,它可以帮助开发者了解SQL语句在执行过程中各个阶段的时间消耗,从而优化数据库操作。在MySQL 5.0.3版本之后,`PROFILE`功能被引入,但它在较新的版本...

    Windows下Neor Profile SQL 配置监控centos(linux)mysql详细步骤

    ### Windows下Neor Profile SQL 配置监控CentOS...需要注意的是,虽然本文主要介绍了使用Neor Profile SQL监控CentOS下的MySQL,但该工具同样适用于其他操作系统和数据库类型,只需根据实际情况调整相应的配置即可。

    MySQL使用profile查询性能的操作教程

    如果想查看特定查询的详细执行步骤,可以使用`SHOW PROFILE FOR QUERY [Query_ID]`,其中`Query_ID`是从`SHOW PROFILES`中获取的ID。 Profiler会展示一系列的状态,如`starting`、`Waiting for query cache lock`、...

    C#连接MySQL需要的MySql.Data.dll,MySql.Web.dll

    在C#项目中使用这些DLL时,需要将其添加到项目的引用中。如果使用的是Visual Studio,可以通过"项目"->"添加引用"->"浏览",然后选择对应的DLL文件来完成引用添加。添加后,就可以在代码中导入`MySql.Data....

    MySQL8.0参考手册.pdf

    MySQL 8.0 参考手册 MySQL 8.0 参考手册是 MySQL 官方提供的一份详细的参考手册,该手册涵盖了 MySQL 8.0 版本的所有...MySQL 8.0 参考手册提供了详细的指南和参考信息,帮助开发者和管理员更好地理解和使用 MySQL。

    mysql常见面试题及答案

    2. MySQL 的性能分析方法包括使用 EXPLAIN 语句、 SHOW PROFILE 语句等。 八、其他 1. MySQL 中的 TIMESTAMP 数据类型可以在 UPDATE CURRENT_TIMESTAMP 修饰符下自动更新。 2. MySQL 中的主键和候选键的区别在于,...

    Linux安装mysql5.7详细步骤

    1. **编辑profile文件**:在/etc/profile文件中添加`export PATH=$PATH:/usr/local/mysql/bin`。 2. **使配置生效**:运行`source /etc/profile`使环境变量的配置立即生效。 #### 九、登录MySQL并更改root密码 1. ...

    Hive安装,使用MySQL作为元数据库

    使用MySQL作为元数据库可以提高Hive的性能和可靠性,特别是在大型集群环境中。同时,由于MySQL具有良好的社区支持和丰富的管理工具,对于管理和监控元数据提供了更多的便利。记得定期备份元数据库,以防止数据丢失。...

    在Windows安装MySQL的图示指南

    MySQL是一种在微软Windows平台上广泛使用的数据库管理系统,具有成本低、易于使用、高可靠性、高性能和提供全功能数据库的特点。MySQL的下载量大,市场需求也在不断增长,支持从Windows XP到Windows Server 2008的...

    mysql高级视频教程百度云(2019).txt

    51.MySQL高级_用Show Profile进行sql分析.avi 50.MySQL高级_批量插入数据脚本.avi 49.MySQL高级_慢查询日志.avi 48.MySQL高级_为排序使用索引OrderBy优化.avi 47.MySQL高级_in和exists.avi 46.MySQL高级_...

    Linux安装Mysql5.6教程(手把手教你)

    为了方便调用MySQL相关的命令,可以在`/etc/profile`中添加MySQL环境变量: ```bash vi /etc/profile ``` 在文件末尾添加以下内容: ```bash export PATH=$PATH:/path/to/mysql/bin ``` 替换`/path/to/mysql/bin`为...

    MYSQL安装步骤-5.7.17

    echo "export PATH=$PATH:/usr/local/mysql/bin" > /etc/profile.d/mysql.sh source /etc/profile # 设置MySQL服务为开机启动 chmod 755 /etc/init.d/mysqld chkconfig --add mysqld chkconfig --level 345 mysqld ...

    linux安装mysql(实测没问题)

    - 卸载旧版 MySQL:如果之前安装过 MySQL,需要先卸载旧版本,使用 `rpm -e --nodeps <MySQL package name>` 命令,其中 `<MySQL package name>` 是实际安装的 MySQL 包名。 #### 二、解压并重命名安装包 - 在 `/...

Global site tag (gtag.js) - Google Analytics