MYSQL数据库:告别慢查询,优化性能大揭秘

news2024/11/24 2:05:40

在这里插入图片描述
​🌈 个人主页:danci_
🔥 系列专栏:《设计模式》《MYSQL应用》
💪🏻 制定明确可量化的目标,坚持默默的做事。


MYSQL数据库:告别慢查询,优化性能大揭秘

文章目录

  • 一、揭秘慢查询——谁在偷走你的时间?🌈
    • `🔍慢查询的真面目:为何它是个“麻烦制造者”?`
    • `🌐追踪慢查询:让它们无处遁形!`
    • `⏰慢查询的隐患:别让它们毁了你的系统!`
  • 二、对症下药:解决和避免慢查询的秘籍🚀
  • 三、性能提升宝典:SQL优化必备技能✈️
    • `💖添加索引提升查询速度`
    • `💔索引失效场景`
  • `结语:🌟`

一、揭秘慢查询——谁在偷走你的时间?🌈

 
在这里插入图片描述
 

🔍慢查询的真面目:为何它是个“麻烦制造者”?

    在数据库的世界里,有一种被称为“慢查询”的幽灵,它们悄无声息地偷走你的时间,让系统性能大打折扣。那么,究竟什么是慢查询呢?简单来说,它就是那些执行时间过长,严重影响用户体验的SQL查询语句。当它们频繁出现时,数据库的性能和稳定性都会受到威胁。
 

🌐追踪慢查询:让它们无处遁形!

    想要揪出这些潜藏的慢查询,你需要学会如何查看系统中存在哪些慢查询。首先,我们要开启慢查询监控功能。在MySQL中,有一个名为long_query_time的配置项,它定义了慢查询的阈值。一旦某条SQL语句的执行时间超过了这个阈值,它就会被MySQL标记为慢查询。通过一系列命令,我们可以轻松地查看、开启、关闭慢查询监控,并设置合适的阈值。当然,为了让这些配置永久生效,你还需要在 my.conf 文件中进行相应设置。
 

⏰慢查询的隐患:别让它们毁了你的系统!

    慢查询不仅会影响用户体验,还可能给系统带来更大的隐患。在B端应用系统中,随着数据量的不断增长,慢查询问题逐渐凸显。它们不仅会导致功能反应速度变慢,还可能引发CPU损耗过高和系统IO压力过大的问题。因此,及时解决和避免慢查询至关重要。
 

二、对症下药:解决和避免慢查询的秘籍🚀

    面对慢查询问题,我们应该如何应对呢?本章节将为你揭示解决和避免慢查询的秘籍。通过一系列技巧和策略,你可以轻松应对慢查询挑战,提升数据库性能。
 
在这里插入图片描述
 

三、性能提升宝典:SQL优化必备技能✈️

    想要进一步提升数据库性能吗?那么你一定不能错过本章节的内容。我们将为你详细介绍如何通过添加索引来提升查询速度,并揭示索引失效的常见场景。掌握这些必备技能,你将能够轻松应对各种性能挑战,让数据库运行更加高效稳定。
 

💖添加索引提升查询速度

    数据内存中比较相比mysql的查询产生io的耗时可忽略不计,所以查询速度取决于查询过程中的IO次数耗时,即提高查询次数的有效方法是减少IO次数(mysql的数据是存储在磁盘中)

    😉 MYSQL innoDB引擎索引数据结构是B+tree结构(树节点称为数据叶)

    🤔 每个数据叶默认大小为16kb(16384)(show VARIABLES like ‘innodb_page_size’;)

    ⭐ 对于主键过引,假设一行数据1kb,则叶子可存16条数据。
    当B+Tree的高度为h = 2 则数据量为 1170 * 16 = 18720条数据。
    当B+Tree的高度为 h = 3 则数据量为1170 * 11170 * 16 = 21902400条数据(2190.24万)

    👍 对于非主键索引,则叶子节点的索引信息有 16384 /(8+8)= 1024个索引信息。
    若h=2 则数据量为 1170 * 1024 = 1198080。
    若h=3 则数据量为 117011701024 = 1401753600条数据(14亿零175.36万)。

    😢 假设我们用bigint做为主键索引大概占8个字节,(B+tree特点)有指向下一个的指针大概占6个字符,则每个数据叶可以存放的索引信息有 16384 / (8 + 6)= 1170个索引信息。
 

由上述分析得出结论:
    ✨ 非主键索引,索引覆盖,14亿条数据情况下只需要3次io即可查询到想要的数据
    ✨ 主键索引查询,2190.24万条数据情况下只走需要3次 io 即可查询到想要的数据
 

💔索引失效场景

 
    ⭐ 了解索引失效的场景,避免因SQL语句索引失效而引起的慢查询:
 
在这里插入图片描述
 

结语:🌟

 
    通过对慢查询的深入剖析和优化策略的分享,相信你已经对如何提升MySQL数据库性能有了更清晰的认识。记住,解决慢查询问题并非一蹴而就的过程,需要持续关注和不断优化。只有这样,你才能确保数据库始终保持在最佳状态,为业务发展提供强有力的支撑。🌟

 

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

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

相关文章

「每日跟读」句型公式 第2篇

「每日跟读」句型公式 第2篇 1. I’m thinking about____ 我在考虑____ I’m thinking about my future career (我正在思考我未来的职业) I’m thinking about our marriage (我在考虑我们的婚姻) I’m thinking about taking a vacation (我在考虑度一个假) I’m think…

书生·浦语大模型InternLM-Chat-1.8B 智能对话 Demo 第二期

文章目录 InternLM-Chat-1.8B 智能对话 Demo环境准备下载模型运行 InternLM-Chat-1.8B web 运行八戒 demo下载模型执行Demo InternLM-Chat-1.8B 智能对话 Demo 环境准备 在InternStudio平台中选择 10% A100(1/4) 的配置(平台资源有限),如下图…

【微服务】——Nacos注册中心

这里写自定义目录标题 1.认识和安装Nacos2.服务注册到nacos1)引入依赖2)配置nacos地址3)重启 3.服务分级存储模型3.1.给user-service配置集群3.2.同集群优先的负载均衡 4.权重配置5.环境隔离5.1.创建namespace5.2.给微服务配置namespace 6.Na…

PS从入门到精通视频各类教程整理全集,包含素材、作业等(7)

PS从入门到精通视频各类教程整理全集,包含素材、作业等 最新PS以及插件合集,可在我以往文章中找到 由于阿里云盘有分享次受限制和文件大小限制,今天先分享到这里,后续持续更新 PS敬伟01——90集等文件 https://www.alipan.com/s…

Typecho自媒体博客Spimes主题 X7.2

主题介绍 spimes主题专为博客、自媒体、资讯类的网站设计开发,自适应兼容手机、平板设备。一款简约新闻自媒体类的 typecho 主题,设计上简约、干净、精致、响应式,后台设置更是强大而且实用的新闻自媒体类主题。 已经更新到7.2,删…

优于五大先进模型,浙江大学杜震洪团队提出 GNNWLR 模型:提升成矿预测准确性

卡塔尔世界杯自 2010 年荣膺举办权,直至 2022 年辉煌成功举办,累计投入资金高达约 2,290 亿美元。相较之下,此前七届世界杯的总花费仅约 400 多亿美元。这场体育盛事展现出奢华无度的风采,归根结底源于卡塔尔这个国度的深厚底蕴。…

官宣!一文掌握2024百度CreateAI开发者大会最新议程

4月16日上午9:00,以“创造未来”为主题的2024百度Create AI开发者大会将在深圳国际会展中心(宝安)开幕。此次大会将是近十年来,粤港澳大湾区规格最高的AI大会,将聚焦炙手可热的AI话题,在大会主论坛、分论坛…

回溯算法|46.全排列

力扣题目链接 class Solution { public:vector<vector<int>> result;vector<int> path;void backtracking (vector<int>& nums, vector<bool>& used) {// 此时说明找到了一组if (path.size() nums.size()) {result.push_back(path);re…

阿里云数据库服务器价格表查询_一张表精准报价

阿里云数据库服务器价格表&#xff0c;优惠99元一年起&#xff0c;ECS云服务器2核2G、3M固定带宽、40G ESSD Entry云盘&#xff0c;优惠价格99元一年&#xff1b;阿里云数据库MySQL版2核2G基础系列经济版99元1年、2核4GB 227.99元1年&#xff0c;云数据库PostgreSQL、SQL Serve…

9.动态规划——4.最长公共子序列(动态规划类的算法题该如何解决?)

例题——最长公共子序列(一) 分析 设最长公共子序列 d p [ i ] [ j ] dp[i][j] dp[i][j]是 S 1 S_1 S1​的前 i i i个元素&#xff0c;是 S 2 S_2 S2​的前 j j j个元素&#xff0c;那么有&#xff1a; 若 S 1 [ i − 1 ] S 2 [ i − 1 ] S_1[i-1]S_2[i-1] S1​[i−1]S2​[…

基于深度学习的吸烟行为检测系统(网页版+YOLOv8/v7/v6/v5代码+训练数据集)

摘要&#xff1a;本文深入研究了基于深度学习的吸烟行为检测系统&#xff0c;核心采用YOLOv8并整合了YOLOv7、YOLOv6、YOLOv5算法&#xff0c;进行性能指标对比&#xff1b;详述了国内外研究现状、数据集处理、算法原理、模型构建与训练代码&#xff0c;及基于Streamlit的交互式…

某音a_bogus 流程vmp分析

声明 本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除! 目标网站 仅研究。网站链接自己去找。 前言 这里a_bogus 又是个vmp。 还是个多层嵌套…

小红数组操作(结构体模拟链表详细解析)(双向链表)c/c++

题目描述: 小红拿到了一个数组&#xff0c;初始数组为空&#xff0c;她希望你实现以下两种操作&#xff1a; 1. 输入x,y&#xff0c;将x插入在元素y的右边。保证此时数组中没有元素等于x&#xff0c;且数组中存在一个y。特殊的&#xff0c;如果将x插入在数组的最左边&#xff0…

微生物群落关键种识别:一种不依赖于网络的自上而下的方法

微生物群落在促进养分循环、协助植物生长、维持人体健康等方面发挥着重要的作用。群落关键种对维持微生物群落稳定性具有重要影响&#xff0c;识别关键种一直是微生物生态学中的热点话题。识别关键种主要有两种框架&#xff1a;数据驱动的方法&#xff08;data driven method&a…

用ENIGMA-toolbox作图

之前一直使用ggseg呈现结果&#xff0c;最近想试一试其他绘图工具。ENIGMA-toolbox有所了解&#xff0c;绘图功能看起来门槛不高&#xff0c;所以就试着用它呈现一些结果。Matlab版本的ENIGMA-toolbox直接使用就是SurfStat的功能绘图&#xff0c;Python版本的绘图功能应该是根据…

详解k8s集群内外的访问方式

文章目录 1、集群内访问2、集群外访问2.1、Ingress转发外网请求2.2、LoadBanlancer接入外网请求2.3、NodePort接入外网请求 3、总结和对比3.1、Ingress、NodePort和LoadBalancer总结3.2、Ingress和网关的区别 1、集群内访问 在k8s中创建的微服务&#xff0c;大部分都是在集群内…

手搓 Docker Image Creator(DIC)工具(02):预备知识

此节主要简单介绍一下 Docker、Dockerfile 的基本概念&#xff0c;Dockerfile 对的基本语法&#xff0c;Windows 和 macOS 下 Docker 桌面的安装&#xff0c;Docker 镜像的创建和运行测试等。 1 关于 Docker Docker 是一个开源的应用容器引擎&#xff0c;它允许开发者打包应用…

非关系型数据库-----------Redis的主从复制、哨兵模式

目录 一、redis群集有三种模式 1.1主从复制、哨兵、集群的区别 1.1.1主从复制 1.1.2哨兵 1.1.3集群 二、主从复制 2.1主从复制概述 2.2主从复制的作用 ①数据冗余 ②故障恢复 ③负载均衡 ④高可用基石 2.3主从复制流程 2.4搭建redis主从复制 2.4.1环境准备 2.4…

hadoop在linux上启动成功了,但是浏览器访问不了

根据网上的资料进行安装hadoop的伪集群 都安装成功&#xff0c;并且启动也成功了&#xff0c;如下图所示&#xff1a; 2、但是在浏览器上确是怎么也访问不了&#xff0c; 解决思路&#xff0c; 2.1、根据网上的一些文章处理解决是关闭防火墙&#xff0c; 2.1.1、我根据操作步骤…

unity工程输出的log在哪里?

在编辑器里进行活动输出的log位置&#xff1a; C:\Users\username\AppData\Local\Unity\Editor\Editor.log ------------------------------------ 已经打包完成&#xff0c;形成的exe运行后的log位置&#xff1a; C:\Users\xxx用户\AppData\LocalLow\xx公司\xx项目