关于mysqlprofile的信息

本篇文章给大家谈谈mysqlprofile,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

查看MySQL执行语句 资源消耗 show profile

mysql提供可以用来分析当前会话中语句执行的资源消耗的情况乎或,可以用于SQL的调优的测量

默认情况下,参数处于关闭状态,保存最近15次的运行结果

分析步骤

1、查看当前版本是否支持

show variables like 'profiling'

2、开启功能

set profiling =on;

3、运行SQL

4、执行

show profiles;

可以看到每条SQL的执行耗时情况

5、诊断SQL

show profile cpu,block io for query [ 查询ID号];

show profile cpu,block io for query 10;

ALL   所有的开销信息

BLOCK IO   块IO相关开销

CONTEXT SWITCHES   上下文切换次数开销,被动和主动

CPU   CPU相关开销信息

IPC  发送和接受相关开销信息

MEMORY  内存相关开销信息

PAGE FAULTS   页面错误相关开销信息

SOURCE    Source_function,Source_file,Source_line相关的开销信息

SWAPS  交换次数相关开销的信息

需要注意

concerting HELP to MyISAM  查裤缓询结胡顷模果太大,内存都不够用了往磁盘上搬了

Creating tmp table 创建临时表  拷贝数据到临时表,用完再删除

Copying to tmp table on disk 把内存中临时表复制到磁盘

[img]

MySQL show profile

1. 是什么?

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

2. 查看状态:

执行如下命令即可查看profile的状态:

可以看到,现在是关闭的。

3. 开启功能:

可以执行如下语句将其开启:

4. 运行sql:

因为上面我们已经开启了profile,所以执行的sql都会被记录到相关文行兄件中,下面我们随便执行几段sql。

5. show profile:

执行了sql之后,来查看show profile的结果:

查出来可以看到,执行过的sql这里都有记录,前面有对应的id。然后我们可以根据id,查出该条sql执行时的cpu、io等情况,比如我要查看id为14的这条sql执行情况,那么就执行:

可以看到,查出来的结果就涵盖了sql执行过程中的整个生命周期,从校验权限、打档模袭开码悉表开始,一直到查询结束,cleaning up。每个过程的cpu和io情况都对应的展示出来了。上面我们查询的字段是cpu和block io,那还有其他的吗?当然有,如下表:

查出来之后,我们要怎么知道生命周期中的哪个步骤有猫病呢?主要观察如下四个:

如果查出来的status列包含了上述四个中的一个,都是会拖慢sql的执行速度的。

6. 全局查询日志:

这个主要是用于开发、测试环境用来排查问题的,永远不要中在生产环境中开启此功能,因为日志会非常非常多。

启用方式有两种:

执行完之后,此后所执行的sql都会保存到mysql库的general_log表里。

Mysql-性能分析-Profiling

Show Profile 是mysql提供可以用来分析 当前会话 中语句执行的资源消耗情况,可以用于Sql调优的测量。

请读者继续看前面的图 SQL执行具体细节 ,左边 Status 列展示了一条SQL执行的从开始到清理的整个生命周期中执行的操作。如果在其带脊生命周期阶段出现如下的情况的就要重视了:

开启雀孝 Profiling 后,mysql会留下15条最近执行的sql的 现场 , 便于蠢岁渗我们发现问题。

Show profiles 用来查最近的15条。

Show profile 用来展示每一个SQL执行阶段的耗时清单,便于我们发现耗时最多的地方,然后以此为依据查找问题所在,最后优化SQL或者优化mysql参数。比如耗时清单创建了临时表,就要考虑表是否创建索引,如果创建了那么是否没有用到或者失效了。

总的来说 Profiling 是一个很不错的mysql性能分析工具。

关于mysqlprofile和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

相关阅读

  • 数据sql(查询前10条数据sql)

    数据sql(查询前10条数据sql)

    标题:深入了解数据SQL技术简介:数据SQL技术在IT领域中起着重要作用,能够对数据进行管理、查询和分析。本文将详细介绍数据SQL技术的定义、特点以及应用领域。一、什么是数据SQL技术数据SQL技术是一种用于管理关系数据库中数据的标准化语言...

    2024.04.14 03:22:12作者:intanet.cnTags:数据sql
  • sql创建数据库(mysql创建数据库)

    sql创建数据库(mysql创建数据库)

    简介:在IT技术中,SQL(Structured Query Language)是一种用于管理关系数据库的标准语言。创建数据库是数据库管理的基础操作之一,通过SQL语句可以方便地创建数据库,并定义其中的数据表和数据结构。一、创建数据库首先,...

    2024.04.14 02:55:09作者:intanet.cnTags:sql创建数据库
  • 包含mysqldateformat的词条

    包含mysqldateformat的词条

    文章标题:MySQL日期格式简介:MySQL是一种广泛使用的关系型数据库管理系统,日期格式在数据库中也是非常重要的。在MySQL中,日期格式有许多种不同的方式来表示和存储日期数据。本文将介绍MySQL中日期格式的相关知识。一级标题:日期格式...

    2024.04.14 01:44:11作者:intanet.cnTags:mysqldateformat
  • sql注入联合查询语句(oracle联合查询注入)

    sql注入联合查询语句(oracle联合查询注入)

    简介:SQL注入是一种常见的网络安全攻击方式,攻击者利用恶意SQL语句篡改数据库查询,甚至控制数据库服务器。其中,注入联合查询是一种常见的SQL注入攻击方式,攻击者通过联合查询语句向数据库中插入额外的查询语句,以获取额外的敏感信息或实现恶意...

    2024.04.13 22:44:12作者:intanet.cnTags:sql注入联合查询语句
  • sql注入java(SQL注入原理)

    sql注入java(SQL注入原理)

    简介:SQL注入是一种常见的网络安全攻击技术,通过向应用程序中的输入字段注入恶意SQL代码来实现对数据库的非法访问。在Java开发中,防止SQL注入攻击至关重要。本文将介绍如何在Java中防止SQL注入攻击。一级标题:什么是SQL注入攻击?...

    2024.04.13 19:33:29作者:intanet.cnTags:sql注入java
  • redis最新版(redis最新版本下载及安装教程)

    redis最新版(redis最新版本下载及安装教程)

    简介:Redis是一个开源的内存数据库,它可以用作数据库、缓存和消息中间件。最新版本的Redis提供了更多的功能和性能优化,使其在大规模应用和高并发情景下表现更出色。本文将介绍Redis最新版的一些特点和改进。一、性能提升最新版的Redis...

    2024.04.13 19:11:10作者:intanet.cnTags:redis最新版
  • 数据仓库模型(数据仓库模型层次包括)

    数据仓库模型(数据仓库模型层次包括)

    数据仓库模型简介:数据仓库模型是指将不同数据源中的数据整合、清洗、存储在一个统一的数据仓库中,以便于企业进行数据分析和决策支持。数据仓库模型通过将原始的杂乱无章的数据转化为结构化、易于分析的数据来帮助企业更好地了解自身和市场情况,从而做出科...

    2024.04.13 06:22:17作者:intanet.cnTags:数据仓库模型
  • mysql导入sql命令(mysql命令导入sql文件命令)

    mysql导入sql命令(mysql命令导入sql文件命令)

    简介:在IT技术领域中,MySQL是一种常用的关系型数据库管理系统,它支持使用Structured Query Language(SQL)语句来操作数据库。在日常工作中,我们经常需要导入SQL命令来对数据库进行操作,本文将详细介绍如何在My...

    2024.04.13 05:22:12作者:intanet.cnTags:mysql导入sql命令