我是靠谱客的博主 健壮奇迹,最近开发中收集的这篇文章主要介绍mysql执行查询的时间记录及查看,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在mysql中,通常情况下,查询占据了大量的处理时间,要从这些查询中找出那些查询占据了大量的时间,导致mysql服务器cpu占据过大,可以通过配置系统参数来实现。

1. 查看配置

mysql> show variables like "%profiling%";
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| have_profiling         | YES   |
| profiling              | OFF   |
| profiling_history_size | 15    |
+------------------------+-------+
3 rows in set

可以看到,默认情况下,profiling是关闭状态。

2. 开启profiling

mysql> set profiling = 1;
Query OK, 0 rows affected

3. 查看执行的每条查询sql的执行时间

mysql> show profiles;
+----------+------------+-------------------------------------------------------+
| Query_ID | Duration   | Query                                                 |
+----------+------------+-------------------------------------------------------+
|       22 | 0.01073875 | select sum(bill_count) from flink_merchant_stat_day   |
|       23 |  0.0001045 | show variables like profiling                         |
|       24 |  0.0001215 | show variables like profiling*                        |
|       25 | 0.00016975 | show variables = profiling                            |
|       26 | 0.00011025 | show variables profiling                              |
|       27 |    0.00012 | show variable profiling                               |
|       28 | 0.00270125 | show variables like "%profiling%"                     |
+----------+------------+-------------------------------------------------------+

4. 针对具体的sql进行进一步分析

mysql> show profile for query 22;
+----------------------+----------+
| Status               | Duration |
+----------------------+----------+
| starting             | 6.9E-5   |
| checking permissions | 1.3E-5   |
| Opening tables       | 2.3E-5   |
| init                 | 2.5E-5   |
| System lock          | 1.5E-5   |
| optimizing           | 1.1E-5   |
| statistics           | 2.8E-5   |
| preparing            | 2.8E-5   |
| executing            | 8E-6     |
| Sending data         | 0.01043  |
| end                  | 1.4E-5   |
| query end            | 1.4E-5   |
| closing tables       | 1.2E-5   |
| freeing items        | 3.4E-5   |
| cleaning up          | 1.9E-5   |
+----------------------+----------+
15 rows in set

可以看出整个sql执行过程中,各个步骤的时间使用。

5. 关闭配置

分析完毕的时候,应关闭记录。

mysql> set profiling = 0;
Query OK, 0 rows affected

最后

以上就是健壮奇迹为你收集整理的mysql执行查询的时间记录及查看的全部内容,希望文章能够帮你解决mysql执行查询的时间记录及查看所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部