MySQL 性能分析
MySQL 性能分析
对 mysql 进行性能分析,主要就是提升查询的效率,其中索引占主导地位。对 mysql 进行性能分析主要有如下几种方式:
方式一:查看 sql 执行频次
show global status like ‘Com_______’; // global 表示全局
show session status like ‘Com_______’;
主要查看select、insert、update、delete四种情况,Value 表示执行的次数。如果 select 次数占大部分,也侧面的告诉了我们 sql 优化的方向,可以考虑给数据库表添加索引来提升查询效率。

方式二:慢查询日志
方式一找到了 sql 优化的方向,因此现在我们需要找到具体的慢 sql。刚好 mysql 也提供了慢查询日志,慢查询日志记录了执行时间超过指定参数(long_query_time,单位:秒。默认是10秒)的所有 sql 语句的日志,默认是没有开启的,需要我们修改配置文件。
- 如果是 Linux 系统下的 mysql,配置文件为:etc/my.cnf
// 开启慢查询日志
slow_query_log=1
long_query_time=2 // 慢查询设置的阈值
- 由于本次我的演示为 Windows 版本的 mysql,修改慢查询配置分为指令和配置文件修改。
-
配置文件:C:\ProgramData\MySQL\MySQL Server 8.0\my.ini,具体配置文件为my.ini,如果路径不对可自行查询自己电脑的路径。

-
指令修改:show variables like ‘%quer%’;
show variables like ‘%quer%’; 用于查看 mysql 的各项配置。

set global slow_query_log=‘ON’; // 开启慢查询日志
set global slow_query_log_file=‘D:/logs/slow-sql-log.log’ // 重新设置慢查询的存放路径 -
演示:我已将 long_query_time 修改为 2 秒,person表中插入了一千七百多万行数据。
演示:select * from person;
然后查看慢查询日志文件:

查看具体的 sql 和耗时后,就可以针对该条 sql 进行优化了。
-
方式三:show profiles(详情)
方式二介绍的慢查询日志也有一点的弊端,假如有一条很简单的 sql,但是执行时间为 1.99 秒,因此就不会被记录到日志文件中,但是这确实也是存在的一种慢查询情况,因此引入 show profiles。show profiles 能够在做 sql 优化时帮助我们了解时间都耗费在哪里去了。
-
show profiling :查看当前 mysql 是否支持 prifile 操作
select @@hava_profiling;
-
profiling 默认是关闭的,开启 profiling
select @@profiling; // 查询结果0表示关闭状态,1表示开启
set profiling = 1; // 开启 -
执行几条 sql,然后查看 profiling
select * from person;
select * from person where id = 70935;
select * from person where name = ‘姓名test’;
select count(*) from person; -
查看 show profiles

具体的耗时和 sql 就展示出来了。-
查看指定 query_id 的 sql 语句各个阶段的耗时情况。
show profile for query 2; // 查看query_id 为 2 的耗时情况

-
查看指定 query_id 的 sql 语句 cpu 的使用情况。
show profile cpu for query 2; // 查看query_id 为 2 的耗时情况

-
以上统计情况都仅供我们参考。
相关文章:
MySQL 性能分析
MySQL 性能分析 对 mysql 进行性能分析,主要就是提升查询的效率,其中索引占主导地位。对 mysql 进行性能分析主要有如下几种方式: 方式一:查看 sql 执行频次 show global status like ‘Com_______’; // global 表示全局 show s…...
【MySQL】数据库——库操作
文章目录 1. 创建数据库[IF NOT EXISTS] 的使用 2. 删除库3. 数据库的编码问题查看系统默认支持的字符集查看系统默认支持的校验集只查看 database的校验集指定编码创建数据库修改字符集修改校验集验证规则对数据库的影响utf8_general_ci ——不区分大小写utf8_bin ——区分大小…...
Python 轻量 ORM peewee 上手
介绍 有时候需要用 Python 直接操作数据库, 手工撸 SQL 倒也不是不能行, 但是总觉得有点背离了 人生苦短, 我用 Python 的初心, 习惯了 SQLAlchemy 的直接操作后, 就变懒了. 但是对于比较简单的数据库操作场景, 再跑一套 SQLAlchemy 又显得有些臃肿, 这次上手轻量 Python ORM …...
微信小程序开发的OA会议之会议,投票,个人中心的页面搭建及模板
目录 一.自定义组件 1.1.创建 1.2.定义 1.3.编写 1.4.使用 二.会议 2.1.数据 2.2.显示 2.3. 样式 三.个人中心 3.1.页面 3.2.样式 四.投票 4.1.引用 4.2.数据 4.3.页面 4.4.样式 好啦今天就到这里了,希望能帮到你哦!!&…...
决策树-入门
1、认识决策树 决策树思想的来源非常朴素,程序设计中的条件分支结构就是if-then结构,最早的决策树就是利用这类结构分割数据的一种分类学习方法 怎么理解这句话?通过一个对话例子 想一想这个女生为什么把年龄放在最上面判断!&a…...
使用Redis发布订阅模式实现 Session共享
其实并不是实现session共享,而是通过redis的发布订阅,让所有集群的服务器,都让自己的session发送一下消息。比如说userId在第35台服务器上, 有100台服务器,那么第1台服务器收到消息,需要通知userId…...
安达发|AI在APS生产计划排程系统中的应用与优势
随着科技的不断发展,人工智能(AI)已经在许多领域取得了显著的成果。在生产管理计划系统中,AI技术的应用也日益受到关注。本文将探讨如何将AI人工智能用在生产管理计划系统上,以提高生产效率、降低成本并优化资源配置。…...
国产低功耗MCU芯片:Si24R03
Si24R03集成了基于RISC-V核的低功耗MCU和工作在2.4GHz ISM频段的无线收发器模块,是一款高度集成的低功耗SOC片。 应用领域: 1、物联网 2、智N门锁 3、电机控制 4、消费电子 5、工业控制 其无线收发器模块是专为低功耗无线场合设计,在关…...
【Java】学生管理系统项目演示
目录 学生管理系统 学生管理系统代码思路分析 nextLine() 和 nextInt() 区别 学生管理系统 需求:实现对学生的增删改查功能,学生(学号,姓名,年龄,地址)字段 学生管理系统代码思路分析 定义学…...
Rust错误处理
返回值和错误处理 panic 深入剖析 主动调用 fn main() {panic!("crash and burn"); }backtrace 栈展开 panic 时的两种终止方式 当出现 panic! 时,程序提供了两种方式来处理终止流程:栈展开和直接终止 何时该使用 panic! 先来一点背景知…...
Golang操作数据库简单示例
目录 准备工作准备数据创建项目连接数据库查询数据修改数据插入数据删除数据释放资源完整代码最终执行结果 准备工作 在开始之前,你需要确保自己安装了Golang的编程环境,安装MySQL数据库,有一个可以用于编写代码的编辑器或IDE工具。我在这里…...
亚马逊测评,买家号支付不了、砍单率高是什么问题,需要怎么解决
下半年旺季很多卖家都在使用自养号测评给产品冲一波权重,但是很多朋友会遇到下不了单或者砍单率过高等问题。有人以为是支付卡的问题,也有人觉得是IP被关联了。其实他们讲的也没错,但是,亚马逊风控不会针对某个点去进行检测&#…...
B. Jellyfish and Game-Codeforces Round 902 (Div. 2)
B. Jellyfish and Game 交换k轮使得第一个同学拥有数值总数最大; 很容易看出这道题需要判断k奇偶数。 当k是奇数时可以看作第一个同学操作一轮。 k为偶数可以看作两个同学各操作一轮。 #include<iostream> #include<vector> #include<algorithm>…...
Linux下的命令行参数和环境变量
命令行参数 什么是命令行参数 命令行参数是指在执行命令行程序时,给程序传递的额外参数。在Linux终端中,命令行参数通常通过在命令后面添加空格分隔的参数来传递。 Linux下以main函数举例说明 #include<stdio.h>int main(int argc char* argv[])…...
语音芯片KT142C两种音频输出方式PWM和DAC的区别
目录 语音芯片KT142C两种音频输出方式PWM和DAC的区别 一般的语音芯片,输出方式,无外乎两种,即dac输出,或者PWM输出 其中dac的输出,一般应用场景都是外挂功放芯片,实现声音的放大,比如常用的音箱…...
Kotlin 协程的挂起和阻塞的区别
一,简介 Kotlin协程引入了非常强大的异步编程模型,通过挂起而不是阻塞来实现并发操作。以下是有关Kotlin协程挂起和阻塞的详细介绍: 挂起(Suspending): 挂起是指一个协程的执行可以在不阻塞线程的情况下暂…...
解决Github Markdown图片显示残缺的问题
title: 解决Github Markdown图片显示残缺的问题 tags: 个人成长 categories:杂谈 在Github存放Markdown文档,如果图片没有存放在Github服务器上,github会尝试生成Github图片缓存,使用Github图片缓存,进行实际的展示。但比较蛋疼的…...
[MAUI]深入了解.NET MAUI Blazor与Vue的混合开发
文章目录 Vue在混合开发中的特点创建MAUI项目创建Vue应用使用element-ui组件库JavaScript和原生代码的交互传递根组件参数从设备调用Javascript代码从Vue页面调用原生代码 读取设备信息项目地址 .NET MAUI结合Vue的混合开发可以使用更加熟悉的Vue的语法代替Blazor语法ÿ…...
1209. 带分数
题目: 1209. 带分数 - AcWing题库 思路: 1.targetab/c,由题意a,b,c会包含1~9 且每个数出现且只能出现一次。我们可以抽象化为9个坑位分成3份分别给a,b,c。 2.先采用递归搜索树写出9个坑位的全排列,再分成3个区,分…...
【树莓派触摸屏等学习笔记】
前言 树莓派触摸屏 提示:以下是本篇文章正文内容,下面案例可供参考 一、触摸屏硬件驱动 出现黑屏的时候,恢复一下txt config.txt 全屏显示 showFull Exec :自启动 surf 算法 特征点识别 算法的复杂度挺高的 特性树莓派强大…...
PAT天梯赛L3-026‘传送门’:从‘交换后缀’到Splay实战,一份写给算法竞赛新手的思维导图
PAT天梯赛L3-026‘传送门’:从‘交换后缀’到Splay实战,一份写给算法竞赛新手的思维导图 第一次看到"传送门"这个题目时,很多同学可能会联想到游戏中的空间跳跃装置。但在算法竞赛中,这道题实际上考察的是对动态序列的高…...
在RK3588开发板上,用TVM调用Mali-G610 GPU跑ONNX模型,实测性能提升多少?
在RK3588开发板上用TVM调用Mali-G610 GPU跑ONNX模型的性能实测 RK3588作为一款高性能嵌入式处理器,其集成的Mali-G610 GPU为AI推理提供了硬件加速能力。本文将带您完成从环境搭建到性能对比的全流程实测,用数据揭示GPU加速的真实效果。 1. 测试环境搭建…...
SpringBoot+Vue数码商城系统源码包|含部署教程与设计文档|电商网站开发实战(Java/MySQL/前后端分离)
温馨提示:文末有联系方式项目概览 基于SpringBoot后端与Vue前端构建的现代化数码电商平台,专为电子产品场景深度优化,集成协同过滤智能推荐算法,助力提升用户转化率与复购率。技术架构亮点 采用B/S架构与标准MVC模式,严…...
阶段一:Java基础 | ⭐ 面向对象:类与对象
阶段一:Java基础 | ⭐ 面向对象:类与对象 - 手把手教学指南 📅 更新时间:2026年4月24日 🎯 学习阶段:阶段一:Java基础 ⏱️ 建议用时:2天 ⭐ 推荐学习内容:本章为该阶段核…...
专利价值量化分析:基于机器学习实现专利权利要求广度评估,提升知识产权管理效率70%
专利价值量化分析:基于机器学习实现专利权利要求广度评估,提升知识产权管理效率70% 【免费下载链接】patents-public-data Patent analysis using the Google Patents Public Datasets on BigQuery 项目地址: https://gitcode.com/gh_mirrors/pa/paten…...
Betaflight飞控固件:5个步骤实现专业级无人机飞行性能
Betaflight飞控固件:5个步骤实现专业级无人机飞行性能 【免费下载链接】betaflight Open Source Flight Controller Firmware 项目地址: https://gitcode.com/gh_mirrors/be/betaflight Betaflight作为开源飞控领域的领军者,为无人机爱好者提供了…...
视觉语义增强的A*路径规划在服务机器人中的应用
1. 视觉辅助A*路径规划:服务机器人导航的智能化升级在服务机器人领域,导航系统正面临一个关键转折点。传统基于激光雷达(LiDAR)的解决方案虽然能精确构建环境几何模型,却对办公桌上的一份机密文件和地上的一片废纸一视…...
别再只跑Demo了!手把手教你用DINOv2的Patch特征做简单的图像前景分割
解锁DINOv2的实战潜力:用Patch特征实现零样本图像分割 在计算机视觉领域,我们常常陷入一个怪圈:花费大量时间跑通各种模型的Demo,却很少思考这些预训练特征在实际任务中的真正价值。DINOv2作为Meta开源的视觉大模型,其…...
PyTorch实现单层神经网络:从原理到实践
1. 从零开始理解单层神经网络 第一次接触神经网络时,我被那些复杂的数学公式吓得不轻。直到有一天,我决定用PyTorch从最简单的单层神经网络开始实践,才发现原来神经网络的核心思想如此直观。单层神经网络(也称为感知机)…...
如何彻底卸载ExplorerPatcher?Windows界面定制工具完全清理指南
如何彻底卸载ExplorerPatcher?Windows界面定制工具完全清理指南 【免费下载链接】ExplorerPatcher This project aims to enhance the working environment on Windows 项目地址: https://gitcode.com/GitHub_Trending/ex/ExplorerPatcher ExplorerPatcher作…...
