mysql性能调试工具profile_MySQL
我一直在找mysql中有没有类似Oracle 10046类似的工具,可以看到SQL执行的时间消耗在哪里。终于在网上找到一个profile,使用一些,觉得不错。
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.6.16 |
+-----------+
1 row in set (0.00 sec)
mysql> SELECT @@profiling;
+-------------+
| @@profiling |
+-------------+
| 0 |
+-------------+
1 row in set, 1 warning (0.00 sec)
mysql> SET profiling = 1;
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> select count(1) from test1 t1,test2 t2;
+----------+
| count(1) |
+----------+
| 7096832 |
+----------+
1 row in set (0.38 sec)
mysql> show profile cpu,block io for query 1; --for query 1 是看第1条执行的SQL语句
+--------------------------------+----------+----------+------------+--------------+---------------+
| Status | Duration | CPU_user | CPU_system | Block_ops_in | Block_ops_out |
+--------------------------------+----------+----------+------------+--------------+---------------+
| starting | 0.000006 | 0.000000 | 0.000000 | NULL | NULL |
| Waiting for query cache lock | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| init | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| checking query cache for query | 0.000023 | 0.000000 | 0.000000 | NULL | NULL |
| checking permissions | 0.000003 | 0.000000 | 0.000000 | NULL | NULL |
| checking permissions | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| Opening tables | 0.000026 | 0.000000 | 0.000000 | NULL | NULL |
| init | 0.000008 | 0.000000 | 0.000000 | NULL | NULL |
| System lock | 0.000007 | 0.000000 | 0.000000 | NULL | NULL |
| Waiting for query cache lock | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| System lock | 0.000022 | 0.000000 | 0.000000 | NULL | NULL |
| optimizing | 0.000004 | 0.000000 | 0.000000 | NULL | NULL |
| statistics | 0.000012 | 0.000000 | 0.000000 | NULL | NULL |
| preparing | 0.000022 | 0.000000 | 0.000000 | NULL | NULL |
| executing | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| Sending data | 0.388263 | 0.375000 | 0.000000 | NULL | NULL |
| end | 0.000017 | 0.000000 | 0.000000 | NULL | NULL |
| query end | 0.000008 | 0.000000 | 0.000000 | NULL | NULL |
| closing tables | 0.000014 | 0.000000 | 0.000000 | NULL | NULL |
| freeing items | 0.000006 | 0.000000 | 0.000000 | NULL | NULL |
| Waiting for query cache lock | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| freeing items | 0.000045 | 0.000000 | 0.000000 | NULL | NULL |
| Waiting for query cache lock | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| freeing items | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| storing result in query cache | 0.000004 | 0.000000 | 0.000000 | NULL | NULL |
| cleaning up | 0.000015 | 0.000000 | 0.000000 | NULL | NULL |
+--------------------------------+----------+----------+------------+--------------+---------------+
26 rows in set, 1 warning (0.00 sec)
mysql> select count(1) from test1 t1,test2 t2, test2 t3;
+------------+
| count(1) |
+------------+
| 1185170944 |
+------------+
1 row in set (1 min 26.67 sec)
mysql> show profile cpu,block io for query 2; --for query 2 是看第2条执行的SQL语句
+--------------------------------+-----------+-----------+------------+--------------+---------------+
| Status | Duration | CPU_user | CPU_system | Block_ops_in | Block_ops_out |
+--------------------------------+-----------+-----------+------------+--------------+---------------+
| starting | 0.000005 | 0.000000 | 0.000000 | NULL | NULL |
| Waiting for query cache lock | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| init | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| checking query cache for query | 0.000029 | 0.000000 | 0.000000 | NULL | NULL |
| checking permissions | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| checking permissions | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| checking permissions | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| Opening tables | 0.000071 | 0.000000 | 0.000000 | NULL | NULL |
| init | 0.000008 | 0.000000 | 0.000000 | NULL | NULL |
| System lock | 0.000005 | 0.000000 | 0.000000 | NULL | NULL |
| Waiting for query cache lock | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| System lock | 0.000021 | 0.000000 | 0.000000 | NULL | NULL |
| optimizing | 0.000004 | 0.000000 | 0.000000 | NULL | NULL |
| statistics | 0.000011 | 0.000000 | 0.000000 | NULL | NULL |
| preparing | 0.000019 | 0.000000 | 0.000000 | NULL | NULL |
| executing | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| Sending data | 86.679145 | 86.640625 | 0.000000 | NULL | NULL |
| end | 0.000024 | 0.000000 | 0.000000 | NULL | NULL |
| query end | 0.000008 | 0.000000 | 0.000000 | NULL | NULL |
| closing tables | 0.000014 | 0.000000 | 0.000000 | NULL | NULL |
| freeing items | 0.000006 | 0.000000 | 0.000000 | NULL | NULL |
| Waiting for query cache lock | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| freeing items | 0.000045 | 0.000000 | 0.000000 | NULL | NULL |
| Waiting for query cache lock | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| freeing items | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| storing result in query cache | 0.000003 | 0.000000 | 0.000000 | NULL | NULL |
| logging slow query | 0.000003 | 0.000000 | 0.000000 | NULL | NULL |
| cleaning up | 0.000014 | 0.000000 | 0.000000 | NULL | NULL |
+--------------------------------+-----------+-----------+------------+--------------+---------------+
28 rows in set, 1 warning (0.00 sec)
SHOW PROFILES Syntax
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
type类型的含义:
ALL displays all information
BLOCK IO displays counts for block input and output operations
CONTEXT SWITCHES displays counts for voluntary and involuntary context switches
CPU displays user and system CPU usage times
IPC displays counts for messages sent and received
MEMORY is not currently implemented
PAGE FAULTS displays counts for major and minor page faults
SOURCE displays the names of functions from the source code, together with the name and line number of the file in which the function occurs
SWAPS displays swap counts

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

在macOS上将apscheduler定时任务配置为服务在macOS平台上,如果你想将apscheduler定时任务配置为一个服务,类似于ngin...

本文介绍如何在Debian系统上构建高可用性的MongoDB数据库。我们将探讨多种方法,确保数据安全和服务持续运行。关键策略:副本集(ReplicaSet):利用副本集实现数据冗余和自动故障转移。当主节点出现故障时,副本集会自动选举新的主节点,保证服务的持续可用性。数据备份与恢复:定期使用mongodump命令进行数据库备份,并制定有效的恢复策略,以应对数据丢失风险。监控与报警:部署监控工具(如Prometheus、Grafana)实时监控MongoDB的运行状态,并

Python参数注解的另类用法在Python编程中,参数注解是一种非常有用的功能,可以帮助开发者更好地理解和使用函...

关于Linux系统自带Python解释器的删除问题许多Linux发行版在安装时会预装Python解释器,它并非通过软件包管理器�...

本文介绍在Debian系统下监控PostgreSQL数据库的多种方法和工具,助您全面掌握数据库性能监控。一、利用PostgreSQL内置监控视图PostgreSQL自身提供多个视图用于监控数据库活动:pg_stat_activity:实时展现数据库活动,包括连接、查询和事务等信息。pg_stat_replication:监控复制状态,尤其适用于流复制集群。pg_stat_database:提供数据库统计信息,例如数据库大小、事务提交/回滚次数等关键指标。二、借助日志分析工具pgBadg

如何在10小时内教计算机小白编程基础?如果你只有10个小时来教计算机小白一些编程知识,你会选择教些什么�...

攻克Investing.com的反爬虫策略许多人尝试爬取Investing.com(https://cn.investing.com/news/latest-news)的新闻数据时,常常�...

Debian系统的网络配置主要通过/etc/network/interfaces文件实现,该文件定义了网络接口参数,例如IP地址、网关和DNS服务器等。Debian系统通常使用ifup和ifdown命令来启动和停止网络接口。通过修改interfaces文件中的iface行,可以设置静态IP或使用DHCP动态获取IP地址。需要注意的是,Debian12及后续版本不再默认使用NetworkManager,因此可能需要借助其他命令行工具,例如ip命令,来管理网络接口。您可以通过编辑/etc/netwo
