MySQL之sql性能分析

news2024/11/24 15:40:42

sql执行频率

MySQL客户端连接成功后,通过show[session|global]status命令可以提供服务器状态信息。通过如下指令,可以查看当前数据库的所有INSERT、DELETE、UPDATE、SELECT的访问频次。

 

慢日志查询

慢查询日志记录了所有执行时间超过指定参数(long+query_time,单位:秒,默认10秒)的所有sql语句的日志。MySQL的慢日志查询日志默认没有开启,需要在MySQL的配置文件(/etc/my.cnf)配置如下信息:

 可通过show variables like "slow__query_log"查看是否开启

show profiles

show profiles能够在做sql优化时帮助我们了解时间都耗费到哪里去了。通过select @@have_profiling参数,能够看到当前MySQL是否支持profile操作。

 默认profiling是关闭的,可以通过set语句在session/global级别开启profiling:

执行一系列的业务sql的操作,然后通过如下指令查看指令的执行耗时:

explain

ecplain或者desc命令MySQL如何执行select语句的信息,包括在select语句执行过程中表如何连接和连接的顺序。语法:

 通过desc命令:

 通过explain命令(两者都是一样的):

 下面解释一下explain执行计划各个字段的含义:

  • id 

    select查询的序列号,表示查询中执行select子句或者是操作表的顺序(id相同,执行顺序从上到下;id不同,值越大越先执行)

    • id相同:执行顺序从上到下。先执行表s(表的别名),再执行sc(中间表,建立表s和c的联系),最后执行表c

    • id不同,值越大越先执行:先执行id为3的即c表;再执行id为2的即sc表;最后执行id为1的:id相同,执行顺序从上到下

  • select_type

    表示select的类型,常见的取值有SIMPLE(简单表,即不使用表连接或者子查询)、PRIMARY(注查询、即外层的查询)、UNION(UNION中的第二个或者后面的查询语句)、SUBQUERY(SELECT/WHERE之后包含了子查询)等

  • type

    表示连接类型,性能由好到差的连接类型为NULL(不查询表)、system、const(主键或唯一索引)、eq_ref、ref(非唯一索引)、range(非唯一索引加范围查询)、index、all(值不加引号)

  • possible_key

    显示可能应用在这张表上的索引,一个或多个

  • Key

    实际使用的索引,如果值为null,则没有使用索引

  • Key_len

    表示索引中使用的字节数,该值为索引字段最大可能长度,并非实际使用长度,在不损失精确性的前提下,长度越短越好

  • rows

    MySQL认为必须要执行查询的行数,在innodb引擎的表中,是一个估计值,可能并不总是准确的

  • filtered

    表示返回结果的行数占需要读取行数的百分比,filtered的值越大越好

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1588341.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

石子合并(区间dp)-java

石子合并问题是经典的区间dp问题,我们需要枚举中间端点k的情况从而来推出dp数组的值。 文章目录 前言 一、石子合并问题 二、算法思路 1.问题思路 2.状态递推公式 二、代码如下 代码如下(示例): 2.读入数据 3.代码运行结果如下&am…

CY7.5-COOH荧光属性Cyanine7.5花菁染料

CY7.5-COOH,作为一种Cyanine 7.5花菁染料,在荧光属性上表现出色。其独特的化学结构赋予了它荧光性质,使其在生物标记、荧光成像和光学传感等领域具有诸多应用前景。 CY7.5-COOH具有出色的荧光量子产率,这意味着在激发光的照射下&…

电商市场价格治理的有效方法

监测价格的目的是为了治理价格,品牌在发展过程中必然要做价格管控,否则任由渠道自由生长,最后的结果多是低价不断,且渠道愈发难以管控,所以在电商链接并不多时,也应对渠道进行监测、治理,将渠道…

【学习路径】AI入门路线分享

近期整理飞书文档,一些权限被关掉了。看好多人在申请访问这个飞书文档,于是把它单独拿出来放在CSDN上,供大家参考~ 原视频地址:AI:从小白到入门,超详细人工智能成长路径分享_哔哩哔哩_bilibili 文章目录 1.…

69787987

c语言中的小小白-CSDN博客c语言中的小小白关注算法,c,c语言,贪心算法,链表,mysql,动态规划,后端,线性回归,数据结构,排序算法领域.https://blog.csdn.net/bhbcdxb123?spm1001.2014.3001.5343 给大家分享一句我很喜欢我话: 知不足而奋进,望远山而前行&am…

ArcGIS Pro中的3D建模

在本文中,我讲述了我最近一直在探索的在 ArcGIS Pro 中设计 3D 模型的过程。 我的目标是尽可能避免与其他软件交互(即使是专门用于 3D 建模的软件),并利用 Pro 可以提供的可能性。 这个短暂的旅程分为三个不同的阶段:准备、组装和照明。 我们必须使用一些布局可能性以及一…

android平台下opencv的编译--包含扩展模块

由于项目需要使用安卓平台下opencv的扩展库,对于通用的opencv库, opencv官网提供了android的SDK 但未能提供扩展库,因此需要自己进行源码编译。本文记录android平台下opencv及其扩展库的交叉编译。 前提:主机已安装android-ndk交…

泰迪智能科技受邀参加花都区产教评技能生态链建设政策宣讲培训会

2024年4月8日,由广州市花都区人力资源和社会保障局主办的花都区产教评技能生态链建设政策宣讲培训会在广州市华风高级技工学校顺利举行。广东省人力资源和社会保障厅职业能力建设处鲍彬科长,广州市人力资源和社会保障局职业能力建设处肖飞扬科长&#xf…

volta(轻松切换管理Node.js版本)

Node.js版本管理 Volta提供了一个简单直观的命令行界面,可以轻松地安装、卸载、更新和切换Node.js版本。 Volta 既可以全局使用,也可以在项目级别使用,可以为每个项目单独设置node版本,nvm不行。 下载安装Volta 参考: …

JavaScript ECMAScript标准的与时俱进:从ES6至ES14的革新之路与关键技术特性剖析

ECMAScript(通常缩写为ES)是一种标准化的脚本语言规范,由ECMA International(前身为European Computer Manufacturers Association,欧洲计算机制造商协会)制定。自1997年发布首个版本以来,ECMAS…

JavaScript_注释数据类型

JavaScript_语法_注释&数据类型: 1.2注释: 1.单行注释://注释内容 2.多行注释:/*注释内容*/ 1.3数据类型: 1.原始数据类型(基本数据类型):(只有这五种) 1.number:数字…

网络安全知识知多少?

网络安全知识在当今数字化的世界中显得尤为重要。随着网络技术的不断发展和普及,网络安全问题也日益突出,对个人、组织乃至国家的安全都构成了严重威胁。因此,了解并掌握一些基本的网络安全知识显得尤为重要。 首先,我们需要明白网…

第21天:WEB攻防-JavaWeb项目UWT身份攻击组件安全访问控制;第22天:WEB攻防-JS项目Node.JS框架安全识别审计验证绕过

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收…

利用免费AI开源引擎:实现图像识别技术在多主体检测中的应用|识别万物|本地化部署

在当今快速发展的图像处理领域,图像主体检测技术已成为提升图像分析效率和精度的关键工具。该技术能够自动识别和定位图像中的一个或多个主要对象,并提供其具体的位置坐标和分类标签。这不仅为图像编辑和优化提供了便利,也为后续的图像识别任…

国芯科技(C*Core)车规MCU产品选型与应用

一、MCU市场概述 MCU(Micro Controller Unit)即微控制器,俗称单片机,是把 CPU 的规格与频率做适当缩减,并将ROM、RAM、A/D转换、各式I/O接口以及Timer等功能整合在单一芯片上,形成芯片级的计算机。 根据…

学习记录14-运算放大器2

目录 前言 一、理想放大器 二、虚断 二、虚短 虚短的两个使用条件 1.虚短概念 2.如果我们将运放的同相端和反相端颠倒会怎样呢? 总结 前言 主要讲述运算放大器的虚短虚断 一、理想放大器 如果没有基础或只是想简单了解,可以看我前一篇文章&am…

C 强制类型转换

强制类型转换是把变量从一种类型转换为另一种数据类型。例如,如果您想存储一个 long 类型的值到一个简单的整型中,您需要把 long 类型强制转换为 int 类型。您可以使用强制类型转换运算符来把值显式地从一种类型转换为另一种类型,如下所示&am…

SpringBoot碎片化知识

参考资料: java官方词典:https://docs.oracle.com/javase/tutorial/information/glossary.html#F苍穹外卖:https://www.bilibili.com/video/BV1TP411v7v6 JavaBean规范 JavaBean规范是一种类的规范,其要求符合下列条件&#xf…

用Python生成纯色图片的方法

第一步 导入PIL库(事先安装好) 这一步如果PIL搜索不到,可以搜索【pillow】 第二步 设置图片的尺寸(宽度,高度)和颜色 第三步 保存图片为xx格式(png或者jpg) 比如生成一张红色&am…

【数据库】GROUP BY 详解、示例、注意事项

一、基本介绍 GROUP BY 语句在 SQL 中用于将来自数据库表的记录分组,以便可以对每个组执行聚合函数(如 COUNT(), MAX(), MIN(), SUM(), AVG() 等)。使用 GROUP BY 时,数据库会根据一个或多个列的值将结果集分为多个分组&#xff…