【MySQL】性能分析

https://www.bilibili.com/video/BV1Kr4y1i7ru/?p=78

查看执行频次

查看当前数据库的 INSERT, UPDATE, DELETE, SELECT 访问频次:
SHOW GLOBAL STATUS LIKE 'Com_______';
或者
SHOW SESSION STATUS LIKE 'Com_______';

在这里插入图片描述

慢查询日志

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

#开启慢查询日志开关
slow_query_log=1#设置慢查询日志的时间为2秒,SQL语句执行时间超过2秒,就会视为慢查询,记录慢查询日志
long_query_time=2

更改后重启MySQL服务 systemctl restart mysqld
日志文件位置:/var/lib/mysql/localhost-slow.log

查看慢查询日志开关状态:
show variables like 'slow_query_log';

profile

show profile 能在做SQL优化时帮我们了解时间都耗费在哪里。
通过 have_profiling 参数,能看到当前 MySQL 是否支持 profile 操作:SELECT @@have_profiling;
通过 profiling 参数,能看到当前 MySQL profiling是否开启:SELECT @@profiling;
profiling 默认关闭,可以通过set语句在session/global级别开启 profiling:SET profiling = 1;
查看当前会话中所有语句的耗时:show profiles;
在这里插入图片描述

查看指定query_id的SQL语句各个阶段的耗时:show profile for query query_id;
在这里插入图片描述

查看指定query_id的SQL语句CPU的使用情况show profile cpu for query query_id;

explain

EXPLAIN 或者 DESC 命令获取 MySQL 如何执行 SELECT 语句的信息,包括在 SELECT 语句执行过程中表如何连接和连接的顺序

语法:
直接在select语句之前加上关键字 explain或者desc
EXPLAIN SELECT 字段列表 FROM 表名 HWERE 条件;

在这里插入图片描述
在这里插入图片描述

EXPLAIN 各字段含义:

  • id:select 查询的序列号,表示查询中执行 select 子句或者操作表的顺序(id相同,执行顺序从上到下;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.mzph.cn/diannao/26471.shtml

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

相关文章

【JVM】之常见面试题

文章目录 1.JVM中的内存区域划分2.JVM的类加载机制2.1 加载2.2 验证2.3 准备2.4 解析2.5 初始化2.6 类加载的时机 3 类加载器4.双亲委派模型5.JVM中的垃圾回收策略5.1 找谁是垃圾5.1.1 引用计数法5.1.2 可达性分析法 5.2 释放垃圾5.2.1 标记清除算法5.2.2 复制算法5.2.3 标记整…

CorelDRAW2024永久破解版下载安装全教程!

在设计领域,精准和专业是至关重要的要素。随着技术的飞速发展,设计师们对软件的选择也越发严苛。CorelDRAW 2024中文版及其2024终身永久版、破解版,因其强大的功能和便捷的使用体验,成为了设计师们的首选之一。本文将深入探讨这一…

网络编程入门

文章目录 网络编程入门计算机网络基础计算机网络发展史TCP/IP模型网络应用模式 基于HTTP协议的网络资源访问HTTP(超文本传输协议)JSON格式requests库 基于传输层协议的套接字编程TCP套接字UDP套接字 网络应用开发发送电子邮件发送短信 网络编程入门 计算…

大模型时代已至,产品经理如何紧跟时代步伐?

前言 在数字化浪潮的推动下,人工智能领域正迎来一场技术革命,而大模型技术的崛起无疑是这场革命中的明星。作为产品经理,我们不仅要洞察市场趋势,更要紧跟技术发展,以创新的思维和敏锐的洞察力,引领产品走…

C语言中各数据类型占用字节和值范围

64位编译器 数据类型占用字节值范围char1-128 ~ 127unsigned char10 ~ 255short2-32768 ~ 32767unsigned short20 ~ 65535int4-2147483648 ~ 2147483647unsigned int40 ~ 4294967295float41.17549435110^-38 ~ 3.40282346610^38double82.225073858507201410^-308 ~ 1.79769313…

git 常用的命令

git 常用的命令 一、基础命令1.1 初始化1.2 添加文件1.3 查看缓存区中的文件1.4 查看上次提交到缓存区中的文件1.5 文件从缓存区取出1.6 提交文件1.6 查看提交中包含的文件1.7 查看commit记录 二、回退命令2.1 git reset2.2 将文件从暂存区取出2.3 将文件从仓库取出2.3.1 保留工…

YOLOv5+单目测距(python)

YOLOv5单目测距(python) 1. 相关配置2. 测距原理3. 相机标定3.1:标定方法13.2:标定方法2 4. 相机测距4.1 测距添加4.2 细节修改(可忽略)4.3 主代码 5. 实验效果 相关链接 1. YOLOV7 单目测距(p…

每日一题——Python实现PAT甲级1112 Stucked Keyboard(举一反三+思想解读+逐步优化)五千字好文

一个认为一切根源都是“自己不够强”的INTJ 个人主页:用哲学编程-CSDN博客专栏:每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 我的写法 时间复杂度 空间复杂度 总结 我要更强 代码分析 时间复杂度 空间复杂度…

TDengine防火墙配置

TDengine 部署时建议禁用防火墙,对于有安全要求必须启用防火墙的的场景,可以只开放 TDengine 相关端口。 TDengine 端口列表 TDengine 不同版本使用的端口也不尽相同,以下是不同版本的端口列表。 TDengine 2.x 端口协议描述6030-6035TCP/…

组织创新|AI赋能敏捷实践,助力企业敏捷转型

在工业5.0时代,随着项目变得越来越复杂,对效率的需求也在增长,致力于敏捷转型的组织正在寻求创新的解决方案来应对常见的挑战:工作量不平衡、低效的任务分配和知识孤岛等等。对此,AI等尖端技术的潜力可以帮助实现更高效…

第五站:Java金——Spring框架的璀璨殿堂(一)

第五站:Java金——Spring框架的璀璨殿堂 踏入Java金的领域,我们来到了Spring框架的璀璨殿堂,这里是现代Java企业级应用开发的瑰宝。Spring通过其核心特性——依赖注入(IoC)和面向切面编程(AOP)…

测试多模态模型MiniCPM

目录 模型参考信息: 文件目录: 使用图片: 执行结果: 让模型用中文输出: 评价 模型参考信息: https://huggingface.co/openbmb/MiniCPM-Llama3-V-2_5 文件目录: 使用图片: h…

安卓编程入门学习:探索移动开发的奇妙世界

安卓编程入门学习:探索移动开发的奇妙世界 在数字时代的浪潮中,安卓编程已成为越来越多人探索的领域。无论是出于个人兴趣,还是职业发展的需要,学习安卓编程都是一项极具价值的技能。然而,对于初学者来说,…

HCIA14 DHCP 实验

动态主机配置协议 DHCP(Dynamic Host Configuration Protocol)由 RFC 2131 定义,采用客户端/服务器通信模式,由客户端(DHCP Client)向服务器(DHCP Server)提出配置申请,服…

HTML--给网站添加已运行时间的统计

原文网址&#xff1a;HTML--给网站添加已运行时间的统计_IT利刃出鞘的博客-CSDN博客 简介 本文介绍怎么给自己网站添加已经运行了多长时间。 代码 <html lang"cn"><head><meta http-equiv"Content-Type" content"text/html;charse…

KafkaQ - 好用的 Kafka Linux 命令行可视化工具

鉴于并没有在网上找到比较好的linux平台的kafka可视化工具&#xff0c;今天为大家介绍一下自己开发的在 Linux 平台上使用的可视化工具KafkaQ 虽然简陋&#xff0c;主要可以实现下面的这些功能&#xff1a; 1&#xff09;查看当前topic的分片数量和副本数量 2&#xff09;查…

力扣2187.完成旅途的最少时间

力扣2187.完成旅途的最少时间 朴素做法 二分答案 class Solution {long long check(vector<int> time,long long k){long long res0;for(auto t:time)res (long long)k/t;return res;}public:long long minimumTime(vector<int>& time, int totalTrips) {…

【GlobalMapper】去除数据黑边

tif数据加载出来有这种黑色的边框&#xff0c;使用 Global Mapper切片之后&#xff0c;会有那种黑色的色块加载出来 影像黑边出现的原因&#xff1a; 通常&#xff0c;由于影像格式、像素深度、无效值、背景值等原因&#xff0c;会产生黑边或者白边&#xff0c;给影像的拼接或…

【图书推荐】《Vue.js 3.x+Element Plus前端开发实战》

本书重点 Element Plus是一套采用Vue.js 3.x实现的UI组件库&#xff0c;它为开发者、设计师和产品经理提供了配套设计资源&#xff0c;可以帮助网站快速成型。 本书详解Vue.js 3.x和Element Plus开发方法&#xff0c;配套源码、PPT课件。 内容简介 本书分为两篇&#xff0c…

d3dcompiler_43.dll是什么文件?怎么高效率的解决d3dcompiler_43.dll丢失问题

d3dcompiler_43.dll是什么文件&#xff1f;当你知道d3dcompiler_43.dll这个文件名字的时候&#xff0c;相信你是遇到了d3dcompiler_43.dll丢失的问题了&#xff01;所以才会这样问&#xff0c;其实这就是一个普通的dll文件&#xff0c;对于电脑系统有着至关重要的作用&#xff…