站长网 MySql教程 Mysql profile如何用

Mysql profile如何用

这篇文章将为大家详细讲解有关Mysql profile怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 如何通过profile来发现语句的开销 构造场景: 开启一个回话,执行语句 lock table film_text read; 开启另外一个回

这篇文章将为大家详细讲解有关Mysql profile怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
 
如何通过profile来发现语句的开销
 
构造场景:
开启一个回话,执行语句
lock table film_text read;
 
开启另外一个回话,执行下面语句:
root@sakila 07:51:14>show variables like '%profil%';
+————————+——-+
| Variable_name          | Value |
+————————+——-+
| have_profiling         | YES   |
| profiling              | OFF   |
| profiling_history_size | 15    |
+————————+——-+
3 rows in set (0.01 sec)
 
root@sakila 07:52:38>set profiling=1;
Query OK, 0 rows affected, 1 warning (0.00 sec)
 
root@sakila 07:52:45>update film_text set title='test' where film_id=1003;
Query OK, 0 rows affected (11.02 sec)
Rows matched: 1  Changed: 0  Warnings: 0
 
 
root@sakila 07:53:18>show profiles;
+———-+————-+——————————————————+
| Query_ID | Duration    | Query                                                |
+———-+————-+——————————————————+
|        1 | 11.02395150 | update film_text set title='test' where film_id=1003 |
+———-+————-+——————————————————+
1 row in set, 1 warning (0.01 sec)
 
可以看到开销是在这个waiting table lock.
 
貌似 show profiles 只能显示本回话执行的sql语句的情况,即使设置了global profiling=1
 
所以如果要调优一组sql, 那么把这一组sql放到一个回话中执行,然后执行show profiles 查看每条语句的执行时间,并且进一步分析开销在什么地方。
 
关于“Mysql profile怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

本文来自网络,不代表站长网立场,转载请注明出处:https://www.tzzz.com.cn/html/jc/mysql/2021/1224/43035.html

作者: dawei

【声明】:站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。
联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部