面试题:MySQL优化,项目中举例
目录
一、SQL优化分两部分,如何发现慢SQL和如何优化慢SQL
二、项目举例
一、SQL优化分两部分,如何发现慢SQL和如何优化慢SQL
-
发现慢SQL有两种方案:第一种是开启我们的慢日志, 第二种就是使用skywalling发现慢的接口,进而发现慢sql
-
比如说我们采用慢日志的方式发现慢sql,可以结合xxl-job每天定时扫描,将慢sql,发到我们公司的邮箱里。
-
我们在使用explan分析计划分析一下这些慢sql
-
提到explan,我们重点说一下我们的type列
-
const:通过索引只返回一行数据
-
eq_ref:通过等值查询返回数据
-
ref:通过非唯一索引返回数据
-
range:范围查询
-
index:全索引扫描
-
all:全表扫描
-
如果发现我们的sql,通过explain分析计划没有走索引,那就要考虑一下索引是否失效,看看sql是否满足最左匹配原则,查询的范围有没有大于三分之一、列上是否有函数计算、数据类型是否匹配等。
二、项目举例
-
在我们的项目当中,我们也遇到过SQL优化的场景,比如说我们做了一个报表,统计一下商品的过期时间,一开始我们数据库里的数据量比较少,接口的响应速度很快,后来数据量慢慢变大,我们通过skywalling发现这个报表的接口响应速度有点慢,那我们就去分析,分析它的原因是将过期时间的计算都交给了数据库,导致数据库的压力比较大,所以我们在看库存表里派生出一个过期时间字段,在业务层就将这个字段的值给计算出来,这样就减少了数据库的压力,提高了接口的响应速度。
相关文章:
面试题:MySQL优化,项目中举例
目录 一、SQL优化分两部分,如何发现慢SQL和如何优化慢SQL 二、项目举例 一、SQL优化分两部分,如何发现慢SQL和如何优化慢SQL 发现慢SQL有两种方案:第一种是开启我们的慢日志, 第二种就是使用skywalling发现慢的接口,进…...
Spring Boot中的事件驱动编程
Spring Boot中的事件驱动编程 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将深入探讨在Spring Boot应用中如何利用事件驱动编程模式,实现…...
代码随想录算法训练营第五十天| 1143.最长公共子序列、1035.不相交的线、53. 最大子序和、392.判断子序列
LeetCode 1143.最长公共子序列 题目链接:https://leetcode.cn/problems/longest-common-subsequence/description/ 文章链接:https://programmercarl.com/1143.%E6%9C%80%E9%95%BF%E5%85%AC%E5%85%B1%E5%AD%90%E5%BA%8F%E5%88%97.html 思路 * dp[i][j]…...
【Redis】数据持久化
https://www.bilibili.com/video/BV1cr4y1671t?p96 https://blog.csdn.net/weixin_54232666/article/details/128821360 单点redis问题: 数据丢失问题:实现Redis数据持久化并发能力问题:搭建主从集群,实现读写分离故障恢复问题&…...
基于Python+Flask+MySQL+HTML的B站数据可视化分析系统
FlaskMySQLVue 基于PythonFlaskMySQLHTML的B站数据可视化分析系统 项目采用前后端分离技术,项目包含完整的前端HTML,以及Flask构成完整的前后端分离系统 爬虫文件基于selenium,需要配合登录账号 简介 主页 登录页面,用户打开浏…...
桥接模式
对象的继承关系是在编译时就定义好了,所以无法在运行时改变从父类继承的实现。子类的实现与它的父类有非常紧密的依赖关系,以至于父类实现中的任何变化必然会导致子类发生变化。当你需要复用子类时,如果继承下来的实现不适合解决新的问题&…...
docker中mysql突然无法远程连接设置
docker登陆到docker.hub docker login -u 用户名 回车密码 将容器打包成自己的镜像 docker commit -a "用户名" -m "redis" 533d6f1402ca 用户名/myredis:v1.2 将镜像发布到平台上 docker push用户名/myredis:v1.2 删除本地镜像 docker rm image …...
Nuxt3 的生命周期和钩子函数(二)
title: Nuxt3 的生命周期和钩子函数(二) date: 2024/6/26 updated: 2024/6/26 author: cmdragon excerpt: 摘要:本文深入介绍了Nuxt.js框架中几个关键的生命周期钩子函数,包括app:redirected(SSR环境下重定向前触发…...
用英文介绍孟买:Mumbai India‘s Transforming MEGACITY
Mumbai: India’s Transforming MEGACITY Link: https://www.youtube.com/watch?vtWD_-Rzrn8o Summary First Paragraph: Mumbai, India’s financial and entertainment capital, is undergoing a major transformation. With its contiguous urban population nearing 25…...
镜像发布至dockerHub
1、login 没有账号的话去注册一个 https://hub.docker.com docker login 输入账号密码和账号2、修改镜像名格式 可以直接招我的修改 格式为你的 hub名/镜像名 3、推送...
vscode + CMake编译(opencv显示图片工程)
1.opencv 1.1Mat容器: 在OpenCV中,cv::Mat是一个重要的类,用于表示和操作矩阵或多维数组,通常用于图像处理和计算机视觉任务。 cv::Mat类具有以下特点和功能: 多维数据存储:cv::Mat可以存储多维数据&…...
JavaScript的学习之强制类型转换
目录 一、什么是强制类型转换 二、其他类型转化为String类型 方式一:调用被转化数据类型的toString()方法 方式二:调用String函数,并将我们要转换的数据添加进去为参数 三、其他类型转化为Number类型 方式一:使用Number()函数…...
天润融通:AI赋能客户体验,推动企业收入和业绩增长
“客户体验已经成为全球企业差异化的关键。人工智能与数据分析等创新技术正在加速推动企业在客户体验计划中取得成功,以保持领先地位”。Customer Insights & Analysis 研究经理Craig Simpson说道。 客户体验 (CX,Customer Experience) 是客户在与企…...
Android与服务器交互的方式中的对称加密和非对称加密(kotlin)
Android与服务器交互中的对称加密和非对称加密(kotlin) 引言 在 Android 与服务器交互时,我们常常需要进行数据传输,为了保证数据的安全性,我们可以使用加密算法来保护数据。在本文中,我们将介绍如何在 K…...
epoch和batch的区别
在机器学习和深度学习中,“epoch”(批次)和"batch"(批量)是两个重要的概念,它们分别表示训练过程中的不同阶段和数据处理方式。 Epoch(批次) 定义:Epoch&…...
非递归创建二叉查找树
非递归创建二叉查找树代码。 #include <stdio.h> #include <stdlib.h>typedef int KeyType; typedef struct BSTNode{KeyType key;struct BSTNode *lchild,*rchild; }BSTNode,*BiTree;//王道书上的递归写法,代码简单,但是理解有难度 //int …...
摄影师危!AI绘画即将降维打击摄影行业
你还以为AI绘画影响的只是插画师行业吗?错了,摄影行业也即将面临技术洗牌 话不多说,先看一下这几张图 你能一眼看出这是AI画的迪丽热巴吗? 你是不是还以为AI绘画只能画点动漫艺术风格?那你就低估了AI的发展速度&…...
ts 中class
class obj{name:stringage:numberconstructor(name:string,age:number){this.name namethis.age age}setname(){this.name 111 } } //新建实例 //构造方法中的this指向调用者,谁new就指向谁 //这个this 指向 o,打印this,可以获取到o身上的…...
深度解析RocketMq源码-高可用存储组件(四)Dledger框架日志同步流程
1.绪论 在深度解析RocketMq源码-高可用存储组件(一) raft协议详解-CSDN博客 中讲过,raft协议中,日志同步主要有两个地方,一个是leader会跟follower同步数据,另一个是在新leader诞生的时候,会与…...
ONLYOFFICE 文档开发者版 8.1:API 更新
随着版本 8.1 新功能的发布,我们更新了编辑器、文档生成器和插件的 API,并添加了 Office API 板块。阅读下文了解详情。 ONLYOFFICE 文档是什么 ONLYOFFICE 文档是一个功能强大的文档编辑器,支持处理文本文档、电子表格、演示文稿、可填写…...
FSearch深度解析:Linux极速文件搜索的技术实现与性能优化终极方案
FSearch深度解析:Linux极速文件搜索的技术实现与性能优化终极方案 【免费下载链接】fsearch A fast file search utility for Unix-like systems based on GTK3 项目地址: https://gitcode.com/gh_mirrors/fs/fsearch 在Linux系统中寻找文件常常是令人头疼的…...
通过Taotoken用量看板直观掌握团队API消耗情况
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 通过Taotoken用量看板直观掌握团队API消耗情况 对于依赖大模型API进行开发的团队而言,清晰、准确地掌握资源消耗情况是…...
数据结构第6章树和二叉树:课后习题全解析(选择题+填空题+综合题+算法设计题)
第6章 树和二叉树 课后习题一、单项选择题1. 一棵有 n 个结点,采用链式存储的二叉树中,共有( A )个指针域为空。A. n1 B. n C. n−1 D. n−2解析: 链式存储二叉树中,每个结点有 2 个指针域(左孩…...
Ubuntu 20.04上virt-manager报GDBus错误?别慌,三步排查法搞定它
Ubuntu 20.04 virt-manager报GDBus错误的深度排查指南 当你正准备用virt-manager管理KVM虚拟机时,突然弹出一个令人困惑的GDBus错误——这种场景对于Linux虚拟化用户来说并不陌生。这个看似简单的错误背后,其实涉及Linux桌面环境中多个关键组件的协同工作…...
拯救你的C盘空间:用FreeMove实现无痛文件迁移的完整指南
拯救你的C盘空间:用FreeMove实现无痛文件迁移的完整指南 【免费下载链接】FreeMove Move directories without breaking shortcuts or installations 项目地址: https://gitcode.com/gh_mirrors/fr/FreeMove 你是否经常看到C盘变红的警告,却不敢随…...
tchMaterial-parser:5分钟快速上手,轻松获取国家中小学智慧教育平台电子课本的完整指南
tchMaterial-parser:5分钟快速上手,轻松获取国家中小学智慧教育平台电子课本的完整指南 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具,帮助您从智慧教育平台中获取电子课本的 PDF 文件网址并进行下载&#x…...
别再只盯着CVE-2017-7529复现了,聊聊Nginx缓存机制下的那些‘信息泄露’风险
深入解析Nginx缓存机制与敏感信息防护实践 Nginx作为现代Web架构的核心组件,其高效的缓存机制在提升性能的同时也隐藏着不容忽视的安全隐患。当开发者们热衷于讨论CVE-2017-7529这类高危漏洞的复现时,我们更需要将目光投向日常配置中那些容易被忽视的信息…...
蜡笔变蜡烛:DIY分层香薰蜡烛的材料原理与制作实践
1. 项目概述:当蜡笔遇见蜡烛,一次关于气味与色彩的记忆重塑不知道你有没有过这样的体验:打开一盒崭新的蜡笔,那股混合着油脂、黏土与淡淡皂感的独特气味扑面而来,瞬间就能将你拉回铺满画纸的童年午后。Crayola蜡笔的官…...
为内容生成应用动态切换 Taotoken 上的不同模型
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 为内容生成应用动态切换 Taotoken 上的不同模型 在内容创作类应用的开发中,一个常见的需求是根据不同的文本类型&#…...
基于Java开发无人机飞手接单平台低空经济服务系统源码搭建
在低空经济快速崛起的当下,无人机已广泛应用于航拍、测绘、电力巡检、农业植保等多个领域,专业飞手资源与市场需求之间的对接难题日益凸显——需求方难以快速找到符合资质的飞手,具备合法资质的飞手也面临接单渠道分散、任务匹配低效的问题。…...
