文章目录

  • 3.Show Profile
    • 3.1 show profile是什么
    • 3.2 分析步骤
  • 4.全局查询日志
    • 4.1配置启用
    • 4.2编码启用

3.Show Profile

3.1 show profile是什么

show profile是mysql提供可以用来分析当前会话中语句执行的资源消耗情况。可以用于SQL的调优的测量
默认情况下,参数处于关闭状态,并保存最近15次的运行结果

官网

3.2 分析步骤

1.是否支持,看看当前的mysql版本是否支持

mysql> Show  variables like 'profiling';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| profiling     | OFF   |
+---------------+-------+
1 row in set (0.01 sec)
默认是关闭,使用前需要开启

2.开启功能,默认是关闭,使用前需要开启

mysql> set profiling=1;
Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> Show  variables like 'profiling';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| profiling     | ON    |
+---------------+-------+
1 row in set (0.00 sec)

3.运行SQL

mysql> select * from students;
+------+-------+
| id   | name  |
+------+-------+
|    1 | zhao1 |
|    2 | zhao2 |
|    3 | zhao3 |
+------+-------+
3 rows in set (0.03 sec)

4.查看结果

show profiles;
mysql> show profiles;
+----------+------------+----------------------------------+
| Query_ID | Duration   | Query                            |
+----------+------------+----------------------------------+
|        1 | 0.00189725 | Show  variables like 'profiling' |
|        2 | 0.00037950 | SELECT DATABASE()                |
|        3 | 0.00436850 | show databases                   |
|        4 | 0.00493400 | show tables                      |
|        5 | 0.00287150 | show tables                      |
|        6 | 0.02086075 | select * from students           |
+----------+------------+----------------------------------+
6 rows in set, 1 warning (0.00 sec)

5.诊断SQL

show profile cpu,block io for query  n  #(n为上一步前面的问题SQL数字号码);
mysql> show profile cpu,block io for query 6;
+--------------------------------+----------+----------+------------+--------------+---------------+
| Status                         | Duration | CPU_user | CPU_system | Block_ops_in | Block_ops_out |
+--------------------------------+----------+----------+------------+--------------+---------------+
| starting                       | 0.000111 | 0.000110 |   0.000000 |            0 |             0 |
| Executing hook on transaction  | 0.000012 | 0.000011 |   0.000000 |            0 |             0 |
| starting                       | 0.000018 | 0.000018 |   0.000000 |            0 |             0 |
| checking permissions           | 0.000016 | 0.000016 |   0.000000 |            0 |             0 |
| Opening tables                 | 0.000062 | 0.000062 |   0.000000 |            0 |             0 |
| init                           | 0.000016 | 0.000016 |   0.000000 |            0 |             0 |
| System lock                    | 0.000021 | 0.000021 |   0.000000 |            0 |             0 |
| optimizing                     | 0.000073 | 0.000056 |   0.000000 |            0 |             0 |
| statistics                     | 0.000029 | 0.000029 |   0.000000 |            0 |             0 |
| preparing                      | 0.000035 | 0.000035 |   0.000000 |            0 |             0 |
| executing                      | 0.020360 | 0.000411 |   0.000000 |           32 |             0 |
| end                            | 0.000016 | 0.000014 |   0.000000 |            0 |             0 |
| query end                      | 0.000008 | 0.000008 |   0.000000 |            0 |             0 |
| waiting for handler commit     | 0.000012 | 0.000012 |   0.000000 |            0 |             0 |
| closing tables                 | 0.000013 | 0.000013 |   0.000000 |            0 |             0 |
| freeing items                  | 0.000027 | 0.000028 |   0.000000 |            0 |             0 |
| cleaning up                    | 0.000033 | 0.000033 |   0.000000 |            0 |             0 |
+--------------------------------+----------+----------+------------+--------------+---------------+
17 rows in set, 1 warning (0.00 sec)

参数备注:

type:
| ALL --显示所有的开销信息
| BLOCK IO --显示块IO相关开销
| CONTEXT SWITCHES --上下文切换相关开销
| CPU --显示CPU相关开销信息
| IPC --显示发送和接收相关开销信息
| MEMORY --显示内存相关开销信息
| PAGE FAULTS --显示页面错误相关开销信息
| SOURCE --显示和Source_function,Source_file,Source_line相关的开销信息
| SWAPS --显示交换次数相关开销的信息

6.日常开发需要注意的结论

converting HEAP to MyISAM 查询结果太大,内存都不够用了往磁盘上搬了。Creating tmp table 创建临时表拷贝数据到临时表用完再删除Copying to tmp table on disk 把内存中临时表复制到磁盘,危险!!!locked

4.全局查询日志

4.1配置启用

/etc/mysql/mysql.conf.d/mysqld.cnf

# Log all queries
# Be aware that this log type is a performance killer.
# general_log_file        = /var/log/mysql/query.log
# general_log             = 1

4.2编码启用

#命令   尽量不要在生产环境开启这个功能。
set global general_log=1;#全局日志可以存放到日志文件中,也可以存放到Mysql系统表中。存放到日志中性能更好一些,存储到表中
set global log_output='TABLE';#此后 ,你所编写的sql语句,将会记录到mysql库里的general_log表,可以用下面的命令查看select * from mysql.general_log;

数据库高级知识——查询截取分析(二)相关推荐

  1. 数据库高级知识——查询截取分析(一)

    文章目录 1.慢查询日志 1.1 慢查询日志是什么 1.2 慢查询日志的操作 1.3 日志分析工具mysqldumpslow 2.批量数据脚本 1.慢查询日志 1.1 慢查询日志是什么 MySQL的慢 ...

  2. 数据库高级知识——索引优化分析(二)

    文章目录 4.性能分析 4.1 MySQL常见瓶颈 4.2 Explain 5.查询优化 5.1 索引失效 5.2 索引优化 4.性能分析 4.1 MySQL常见瓶颈 CPU :SQL中对大量数据进行 ...

  3. 数据库高级知识——索引优化分析(一)

    文章目录 1.SQL性能下降原因 2.常见通用的Join查询 2.1 SQL执行顺序 2.2 Join图 3.索引简介 3.1 索引是什么 3.2 索引优势 3.3 索引劣势 3.4 索引分类 3.5 ...

  4. 第 3 章 查询截取分析

    第 3 章 查询截取分析 1.查询优化 1.1.MySQL 优化原则 mysql 的调优大纲 慢查询的开启并捕获 explain+慢SQL分析 show profile查询SQL在Mysql服务器里面 ...

  5. Mysql慢查询日志,查询截取分析

    目录标题 慢查询日志 慢查询日志分析工具 Show Profile 全局查询日志 慢查询日志 mysql提供了一种慢查询日志的功能,该功能默认是关闭的,我们可以设置一个阀值,就比如3秒钟,只要是执行的 ...

  6. MySQL慢查询日志分析(二)

    1: 为什么在慢查询日志里面出现Query_time小于long_query_time阀值的SQL语句呢? 例如,long_query_time=5, 但是Query_time小于1秒的SQL都记录到 ...

  7. 数据库高级知识——mysql架构介绍(二)

    文章目录 1.Mysql逻辑架构介绍 1.1 总体概览 1.2 查询说明 2.Mysql存储引擎 2.1 查看命令 2.2 各个引擎简介 2.3 MyISAM和InnoDB 2.4 阿里巴巴.淘宝用哪 ...

  8. mysql数据库日志截断,MySQL基础(十一):查询截取分析

    下面是小凰凰的简介,看下吧!

  9. 数据库高级知识——MySql锁机制

    文章目录 1.概述 1.1 定义 1.2 锁的分类 2.三锁 2.1 表锁(偏读) 2.2 行锁(偏写) 2.3 页锁 1.概述 1.1 定义 锁是计算机协调多个进程或线程并发访问某一资源的机制.在数 ...

最新文章

  1. Linux安装—IP设置
  2. 常见问题_数组索引越界异常
  3. 消除代码中的坏味道,编写高质量代码
  4. 度量空间的应用_使用Dropwizard度量标准监视和测量无功应用
  5. C语言判断系统是32位还是64位
  6. Oracle数据库用户查询常用命令
  7. 机顶盒改成无线打印服务器,【当贝市场】如何将网络机顶盒改装成无线路由器...
  8. 使用wireshark分析HTTPS数据包
  9. ios浏览器微信支付回调页面_iOS微信支付结果页面返回原程序按钮
  10. 怎么样才能买到廉价机票
  11. 笔记本电脑怎样重装系统
  12. 华为机考1-54题总结
  13. 处理echarts地图省份坐标重叠的方法
  14. 换工作记(二)----- 2008个人简历
  15. 期货反向跟单—我们与规律同在
  16. java计算机毕业设计ssm基于大数据的汽车流量监控cvej1(附源码、数据库)
  17. 使用面向对象思想设计电子宠物系统
  18. 两台Linux完美实现双机热备
  19. 中国人民大学与加拿大女王大学金融硕士引领你走出职场困境,勇往直前!
  20. Android集成华为推送功能详细

热门文章

  1. LeetCode 1615. 最大网络秩(出入度)
  2. 剑指Offer - 面试题53 - II. 0~n-1中缺失的数字(二分、位运算)
  3. python json序列化对象_Python学习之json序列化
  4. java基础之lambda表达式
  5. Oracle数据库逻辑存储结构管理相关问题与解决
  6. SQL Server时间函数
  7. android wsdl封装,《android 解析WebService》
  8. 【DKN】(六)KCNN.py
  9. 11月AI大事件回顾:GPT3开放使用/女娲视觉大模型/AE文艺复兴/...
  10. Spring Boot 2.x基础教程:Swagger静态文档的生成