摘要:使用分析开销使用之前先查看当前数据库的版本信息低版本无法使用或者查看只读变量,用于控制是否由系统变量开启或禁用
Mysql使用profile分析sql开销
1.使用之前先查看当前数据库的版本信息,低版本无法使用. show version(); 或者 show variables like "%version%" 2.查看profiling show variables like "%profil%" ; result: +------------------------+-------+ | Variable_name | Value | +------------------------+-------+ | have_profiling | YES | --只读变量,用于控制是否由系统变量开启或禁用profiling | profiling | OFF | --开启SQL语句剖析功能 | profiling_history_size | 15 | --设置保留profiling的数目,缺省为15,范围为0至100,为0时将禁用p show profiles; 查看是否开启,效果同上. 3.查看使用说明 help profile; 4.开启profile set profiling=1; 赋值时候不要有多余的空格. 5.运行sql,查看对应的profile select * from test ; show profiles; result: +----------+------------+--------------------------------------------------------------------------------------------------------------------------+ | Query_ID | Duration | Query | +----------+------------+--------------------------------------------------------------------------------------------------------------------------+ | 28 | 0.00033575 | select * from test | +----------+------------+--------------------------------------------------------------------------------------------------------------------------+ 分析sql性能,分析的时候可以加上对应的开销字段 show profile [cpu,io][all] for query 28 ; show profile for query 28 ; +----------------------+----------+ | Status | Duration | +----------------------+----------+ | starting | 5.7E-5 | | checking permissions | 7E-6 | | Opening tables | 1.7E-5 | | init | 2.3E-5 | | System lock | 8E-6 | | optimizing | 5E-6 | | statistics | 1.1E-5 | | preparing | 9E-6 | | executing | 3E-6 | | Sending data | 8.8E-5 | | end | 5E-6 | | query end | 6E-6 | | closing tables | 5E-6 | | freeing items | 7.8E-5 | | cleaning up | 1.5E-5 | +----------------------+----------+ 6.关闭 set profiling=off;
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/48575.html
摘要:可以帮助选择更好的索引和写出更优化的查询语句查询到会执行多少时间并看出使用量执行过程中花多少时间等等本章主要是对做简单的概述,用来对某一条语句进行性能分析。但是在之后,信息将逐渐被废弃,推荐使用。 前言 在我们做mysql性能分析的时候,最常用的有三种方式: (1)慢查询 (分析出现出问题的sql) (2)Explain (显示了mysql如何使用索引来处理select语句以及连接...
摘要:一事故现场上面的这条语句是一个联表分组查询语句。典型情况如查询包含可以按不同情况列出列的和子句时。相关文章实战导致查询很慢的问题详细分析索引无效且耗时巨大原因分析查询占用大量时间的问题处理堵塞和状态多,高详解执行计划详解 最近在代码优化中,发现了一条sql语句非常的慢,于是就用各种方法进行排查,最后终于找到了原因。 一、事故现场 SELECT og.goods_barcode, og....
摘要:第二阶段依照执行计划和存储引擎进行交互这个阶段包括了多个子过程一条查询可以有多种查询方式,查询优化器会对每一种查询方式的存储引擎统计信息进行比较,找到成本最低的查询方式,这也就是索引不能太多的原因。 上一篇:MySQL性能管理及架构设计(二):数据库结构优化、高可用架构设计、数据库索引优化 一、SQL查询优化(重要) 1.1 获取有性能问题SQL的三种方式 通过用户反馈获取存在性能问...
摘要:前言只有光头才能变强刷面试题的时候,不知道你们有没有见过这两个命令和反正我就见过了之前虽然知道这两个命令大概什么意思,但一直没有去做笔记。读懂命令结果命令输出的结果有列包含一组数字,表示查询中执行子句或操作表的顺序。 前言 只有光头才能变强 刷面试题的时候,不知道你们有没有见过MySQL这两个命令:explain和profile(反正我就见过了).. 之前虽然知道这两个命令大概什么意思...
阅读 2929·2021-11-17 09:33
阅读 3039·2021-11-15 11:37
阅读 2764·2021-10-19 11:47
阅读 3038·2019-08-29 15:32
阅读 805·2019-08-29 15:27
阅读 1368·2019-08-29 13:15
阅读 777·2019-08-29 12:47
阅读 1889·2019-08-29 11:30