Mysql数据库当执行SQL响应比较慢,怎样排查及解决?

一 如果执行SQL响应比较慢,可能有以下四个原因:
1 没有索引或者是SOL没有命中索引,导致索引失效。
2 单表数据量过多,导致查询遇到瓶颈。
3 可能是网络原因,或者机器负载过高。
4 热点数据导致单点负载不均衡。

二 解决方案
1 打开 MySQL的慢查询日志,然后收集一段时间的慢查询,找出耗时最长的 SOL 语句,对这些 SOL语句再进行分析,利用执行计划 explain去查询 SQL是否有命中索引,如果没有命中,则优化SOL语句,保证 SOL走索引执行。如果SOL语句的结构没有办法再优化,可以考虑表上再增加对应的索引,要注意一点,在优化SOL或添加索引的时候,需要符合最左匹配原则。

2 对表进行切分。表切分法有两种:水平切分和垂直切分。水平切分就是把一张千万级的大表,根据业务主键切分为多张小表,那么这些小表可能达到100张,甚至是1000张;垂直切分就是将一张表中的多个列,按照业务逻辑把它关联性比较大的列放在同一张表上去。除了切表,还可以分库,比如已经将大表拆分为1000张小表后,将后缀为1-100的表放到一个数据库实例中,然后再将101-200的表放到另一个实例中,依次类推把1000个表分别放到10个数据库实例中。这样就可以根据业务的主键把请求路由到不同的数据库实例,然后每个数据库实例承担相应的流量,这样均摊的流量就比较小,从而达到数据库性能提升的目的。

3 数据库读写分离部署。Mysql支持一主多从的分布式部署,主库只用来处理写操作,多个从库负责读的操作。在流量比较大的场景,可以增加从库来提高数据库的负载能力,从而提升数据库总体性能。
4 除数据库本身的调整外,还可以增加缓存,然后将查询比较频繁的热点数据,存到缓存中,比如Redis,MongoDB,ES等,以此来缓解数据库的压力,从而提高数据库的响应速度。

在这里插入图片描述

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

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

相关文章

11.STL

STL阶段 禁止复制 文本查询扩展作业解析 get_file函数的作用就是进行预处理操作&#xff0c;将文件中的每一行的内容放在shared_ptr<vector<string>> file里面进行存储&#xff1b;然后对每一个单词进行处理&#xff0c;将单词与行号放在map<string, shared_p…

linux 内核代码学习(七)

linux内核代码的研究中断了一段时间了&#xff0c;现在又重新开始了研究&#xff0c;个人觉得linux内核的学习是没有上限的&#xff0c;总是一个温故而知新的过程&#xff0c;是一个不断积累的过程。首先还是要先搭建一个方便自己学习和研究的平台&#xff0c;经过不断的尝试&a…

学习bat脚本

内容包含一些简单命令或小游戏&#xff0c;在乐趣中学习知识。 使用方法&#xff1a; 新建文本文档&#xff0c;将任选其一代码保存到文档中并保存为ASCII编码。将文件后缀改为.bat或.cmd双击运行即可。 一. 关机脚本 1. 直接关机 echo off shutdown -s -t 00秒直接关机。 2…

C语言 | Leetcode C语言题解之第383题赎金信

题目&#xff1a; 题解&#xff1a; bool canConstruct(char * ransomNote, char * magazine){int r strlen(ransomNote);//首先是我们的目标数组和我们的提供方数组长度int m strlen(magazine);if (r > m)return false;//如果提供的数量都不够补充目标&#xff0c;那肯定…

UE5开发——射击游戏

1. 枪支拾取动画 创建Text Block 编译保存 在h文件写入 &#xff0c;属性 private:UPROPETY(VisibleAnywhere, Category "Weapon Properties")class UWidgetComponent* PickupWidget; 先写这个&#xff1a; CreateDefaultSubobject<UWidgetComponent>(TEXT(…

Zabbix 配置win系统登录和钉钉告警

1、配置win监控项 win系统日志ID 4624是成功登录 4625是失败登录 登录成功日志&#xff1a; eventlog[Security,,"Success Audit",,^4624$,,skip] 登录失败日志&#xff1a; eventlog[Security,,"Success Audit",,^4625$,,skip] 要监控登录的日志&…

大模型之二十八-语音识别Whisper进阶

在上一篇博客大模型之二十七-语音识别Whisper实例浅析中遗留了几个问题&#xff0c;这里来看一下前两个问题。 1.如果不是Huggingface上可以下载的数据该怎么办&#xff1f; 2.上面的代码是可以训练了&#xff0c;但是训练的时候loss真的会和我们预期一致吗&#xff1f;比如如下…

最新视频合成后调优技术ExVideo模型部署

ExVideo是一种新型的视频合成模型后调优技术&#xff0c;由华东师范大学和阿里巴巴的研究人员共同开发。 ExVideo提出了一种新的后调优策略&#xff0c;无需对整个模型进行大规模重训&#xff0c;仅通过对模型中时序相关组件的微调&#xff0c;就能够显著增强其生成更长视频片…

Linux 安装Mysql保姆级教程

一、检查环境 我们登录服务器&#xff0c;查看之前是否安装过mysql rpm -qa | grep mysql 由于我之前安装过&#xff0c;所以这里是有数据的 如果需要删除重新下载&#xff0c;可以使用 rpm -e mysql57-community-release-el7-10.noarch.rpm 二、安装 1、下载 接下来下载安装…

群晖(Docker Compose)配置 frp 服务

为了方便远程电脑&#xff0c;访问自己电脑上的ComfyUI等服务&#xff0c;配置了 frp 服务。 配置 frp 服务后&#xff0c;发现群晖中的一些服务也可以 stcp 安全的暴露出来。 直接在群晖通过 Docker Compose 方式部署 frps 和 frpc&#xff0c;访问者通过 frpc 安全访问暴露…

CentOS 7安装和配置 NFS

前言 NFS 是 Network File System 的缩写&#xff0c;即网络文件系统。功能是让客户端通过网络访问不同主机上磁盘里的数据&#xff0c;主要用在类 Unix 系统上实现文件共享的一种方法。本例演示 CentOS 7 下安装和配置 NFS 的基本步骤。 环境说明 CentOS 7&#xff08;Mini…

光学涡旋Talbot阵列照明器的matlab模拟与仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 光学涡旋 Talbot 阵列照明器是一种利用光学涡旋&#xff08;Optical Vortex&#xff09;和 Talbot 效应&#xff08;Talbot Effect&#xff09;相结合的技术&…

LVS部署——DR集群

目录 一、LVS—DR工作原理 二、LVS-DR数据流向 三、LVS-DR模式特点和优缺点 3.1、特点 3.2、优缺点 四、LVS-DR中的ARP问题 4.1、IP地址冲突 4.2、第二次访问请求失败 五、部署LVS-DR集群 5.1、实验准备 5.2、配置负载调度器&#xff08;192.168.20.15&#xff09; …

SpringBoot2:学SpringBoot前的知识准备-用IDEA创建传统的webapp工程,并整合SpringMVC

1、IDEA创建工程 基于Maven模板创建的SpringMVC工程 工程创建好后&#xff0c;只有webapp目录 这里&#xff0c;我们需要手动创建java目录和resources配置文件目录 创建好后&#xff0c;配置下目录属性 最终结构 至此&#xff0c;工程就创建好了 2、配置Tomcat 参考&am…

【Tesla FSD V12的前世今生】从模块化设计到端到端自动驾驶技术的跃迁

自动驾驶技术的发展一直是全球汽车行业的焦点&#xff0c;Tesla的Full-Self Driving&#xff08;FSD&#xff09;系统凭借其持续的技术革新和强大的数据支持&#xff0c;在这个领域独占鳌头。本文将深入介绍Tesla FSD V12的演进历史&#xff0c;从自动驾驶的基础概念入手&#…

机器学习 之 决策树与随机森林的实现

引言 随着互联网技术的发展&#xff0c;垃圾邮件过滤已成为一项重要的任务。机器学习技术&#xff0c;尤其是决策树和随机森林&#xff0c;在解决这类问题时表现出色。本文将介绍随机森林的基本概念&#xff0c;并通过一个具体的案例——筛选垃圾电子邮件——来展示随机森林的…

【OpenGL】xcode+glfw画三角形

环境搭建 1. 执行brew install glfw 2. 项目中Build Settings中header Search Paths中添加glfw的include路径 3. 项目中Build Phases中的Link Binary With Libraries中添加glfw的lib文件&#xff08;路径/opt/homebrew/Cellar/glfw/3.4/lib/libglfw.3.4.dylib&#xff09;及…

数据结构之内核链表,栈,队列

今天主要学习了内核链表&#xff0c;顺序栈&#xff0c;链式栈&#xff0c;顺序队列&#xff0c;链式队列的相关内容。 一.内核链表 内核链表和之前的单向&#xff0c;双向链表有所不同的是内核链表的结构是数据包含节点&#xff0c;特点如下&#xff1a; 1.一种链表结构能够操…

谷歌的 GameNGen:无需游戏引擎,人工智能模拟 “毁灭战士“,开辟新天地

谷歌公司的研究人员创建了一个神经网络&#xff0c;可以在不使用传统游戏引擎的情况下生成经典射击游戏《毁灭战士》的实时游戏&#xff0c;从而实现了人工智能领域的一个重要里程碑。这个名为 GameNGen 的系统标志着人工智能向前迈出了重要一步&#xff0c;它能在单芯片上以每…

c语言(二叉树)

第4章 二叉树和BST 树与二叉树 基本概念 树是一种非线性结构&#xff0c;其严格的数学定义是&#xff1a;如果一组数据中除了第一个节点&#xff08;第一个节点称为根节点&#xff0c;没有直接前驱节点&#xff09;之外&#xff0c;其余任意节点有且仅有一个直接前驱&#xff…