数据库调优的流程及参考参数

news2024/11/18 15:27:14

1.数据库调优的流程:

1.1.调优思考流程:

  • 1.对数据库进行调优的时候,我们可以依据以下步骤进行思考:
    • 整个流程划分成了观察 (Show status) 和行动 (Action) 两个部分。
    • 字母 S 的部分代表观察(会使用相应的分析工具)
    • 字母 A 代表的部分是行动(对应分析可以采取的行动)
      在这里插入图片描述

1.2.详细解释上面的图:

我们可以通过观察了解数据库整体的运行状态,通过性能分析工具可以让我们了解执行慢的 SQL 都有哪些,查看具体的 SQL 执行计划,甚至是 SQL 执行中的每一步的成本代价,这样才能定位问题所在,找到了问题,再采取相应的行动

  • 1.首先在 S1 部分,我们需要观察服务器的状态是否存在周期性的波动。如果存在周期性波动有可能是周期性节点的原因,比如双十一、促销活动等。这样的话,我们可以通过 A1 这一步骤解决,也就是加缓存,或者更改缓存失效策略。
  • 2.如果缓存策略没有解决,或者不是周期性波动的原因,我们就需要进一步分析查询延迟和卡顿的原因。接下来进入 S2 这一步,我们需要开启慢查询慢查询可以帮我们定位执行慢的 SQL 语句。我们可以通过设置long_query_time 参数定义“慢”的阈值,如果 SQL 执行时间超过了 long_query_time,则会认为是慢查询。当收集上来这些慢查询之后,我们就可以通过分析工具对慢查询日志进行分析。
  • 3.在 S3 这一步骤中,我们就知道了执行慢的 SQL,这样就可以针对性地用 EXPLAIN 查看对应 SQL 语句的执行计划,或者使用 show profile 查看 SQL 中每一个步骤的时间成本。这样我们就可以了解 SQL 查询慢是因为执行时间长,还是等待时间长。
  • 4.如果是 SQL 等待时间长,我们进入 A2 步骤。在这一步骤中,我们可以调优服务器的参数,比如适当增加数据库缓冲池等。如果是 SQL 执行时间长,就进入 A3 步骤,这一步中我们需要考虑是索引设计的问题?还是查询关联的数据表过多?还是因为数据表的字段设计问题导致了这一现象。然后在这些维度上进行对应的调整。
  • 5.如果 A2 和 A3 都不能解决问题,我们需要考虑数据库自身的 SQL 查询性能是否已经达到了瓶颈,如果确认没有达到性能瓶颈,就需要重新检查,重复以上的步骤。如果已经达到了性能瓶颈,进入 A4 阶段,需要考虑增加服务器,采用读写分离的架构,或者考虑对数据库进行分库分表,比如垂直分库、垂直分表和水平分表等。
  • 6.以上就是数据库调优的流程思路。如果我们发现执行 SQL 时存在不规则延迟或卡顿的时候就可以采用分析工具帮我们定位有问题的 SQL,这三种分析工具你可以理解是 SQL 调优的三个步骤:慢查询、EXPLAIN 和 SHOW PROFILING

1.3.总结概括图:

在这里插入图片描述


2.MySQL调优的性能参数:

2.1.参数查看的语法:

1.在 MySQL 中,可以使用 SHOW STATUS 语句查询一些数据库服务器的性能参数、 执行频率。 SHOW STATUS 语句语法如下:

SHOW [GLOBAL|SESSION] STATUS LIKE '参数';

2.2.性能参数的含义:

在这里插入图片描述

2.3.案例分析:

  • 1.例如,查询 MySQL 服务器的连接次数,则可以执行如下语句:
SHOW STATUS LIKE 'Connections';

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


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

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

相关文章

全自由度控制八极电磁铁-吴贤铭智能工程学院案例

根据客户需求,上海天端实业有限公司设计八极电磁铁方案 八极电磁铁产品说明 八极电磁铁可在空间内部产生方向及强度可控的均匀磁场或梯度磁场,八组磁极以空间极轴布置,每组磁极可独立控制,磁场空间300mm直径球域。 八极电磁铁电…

electron 官网速通

前言:参考Electron 中文网。 核心知识点:有哪些进程,进程之间的通信,electron API 分类及怎么调用。 一、快速开始 1. 新建一个 my-electron 的文件夹。 2. 运行 npm init 创建 package.json 文件。 3. 填写 author 和 descr…

【Python-办公自动化】1秒提取多个word表格汇总至1个excel内

欢迎来到"花花 Show Python",一名热爱编程和分享知识的技术博主。在这里,我将与您一同探索Python的奥秘,分享编程技巧、项目实践和学习心得。无论您是编程新手还是资深开发者,都能在这里找到有价值的信息和灵感。 自我介绍: 我热衷于将复杂的技术概念以简单易懂…

苹果上架没有iphone、没有ipad也可以生成截屏

使用flutter、uniapp或其他跨平台框架开发ios的APP,上架的时候都会遇到一个问题,上架的时候需要各种尺寸的设备来做ios截屏。 比如目前最新的要求是,iphone需要三种不同尺寸的设备的截屏,假如支持ipad则还需要使用ipad 2代和ipad…

linux常用命令学习-ls命令

1.1 ls 命令 命令功能:查看文件信息。 在 ubuntu 上,一般都使用 ls 命令来查看文件信息,ls ,是 list 这个单词的缩写。在当前目录下输入 ls 命令,这样就会列出当前路径下的全部文件,例如我们要查看桌面上的文件&#x…

什么是硬件在环仿真?

硬件在环Hardware-in-the-loop(HIL)仿真是一种实时仿真。您可以使用HIL模拟来测试您的控制器设计。HIL模拟显示了控制器如何实时响应逼真的虚拟刺激。您还可以使用HIL来确定您的物理系统(设备)模型是否有效。 在HIL模拟中&#xf…

代码随想录训练营 Day34打卡 动态规划 part02 62. 不同路径 63. 不同路径 II 343. 整数拆分 96. 不同的二叉搜索树

代码随想录训练营 Day34打卡 动态规划 part02 一、力扣62. 不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Fini…

5.vue中axios封装工程化

vue工程化中axios封装 视频演示地址:https://www.bilibili.com/video/BV121egeQEHg/?vd_source0f4eae2845bd3b24b877e4586ffda69a 通常我们封装需要封装request.js基础的发送请求工具类,再根据业务封装service类,service类是具体业务的接口…

Ps:首选项 - 暂存盘

Ps菜单:编辑/首选项 Edit/Preferences 快捷键:Ctrl K Photoshop 首选项中的“暂存盘” Scratch Disks选项卡通过合理配置和管理暂存盘,可以显著提高 Photoshop 的运行性能,特别是在处理复杂的设计项目或大型图像文件时。选择合适…

Conformer解析

文章目录 前言Conformer encoder model architectureConvolution SubsamplingLinear & DropoutConformer BlocksFeed Forward ModuleMulti-Headed Self-Attention ModuleConvolution Module 前言 Conformer encoder model architecture 对于语音来说,整个架构…

内核链表的实现

内核链表和普通链表的区别: 1. 普通链表当中数据域和指针域,没有做到区分,数据与指针形成了一个整体,而内核链表数据与指针是完全剥离的没有直接的关系。 2. 在普通链表当中所有节点的数据都是一样的类型,而内核链表…

vmware安装openEuler操作系统

文章目录 vmware安装openEuler操作系统官网地址下载方式 新建虚拟机新建虚拟机新建虚拟机向导输入新建的虚拟机名称预览安装虚拟机的操作系统开始安装语言选项基础配置 网络配置关机拍快照克隆模板机 vmware安装openEuler操作系统 官网地址 https://www.openeuler.org/zh/dow…

6.4 MySQL 常见查询优化案例分析

欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: 工💗重💗hao💗:野老杂谈 ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题.…

Python 函数参数介绍

目录 函数 -- 普通参数 函数 -- 参数进一步 -- 指定参数 函数 -- 参数带 * -- 将传入的参数打包成元组 函数 -- 参数带 ** -- 关键字传参 -- 将传入的参数打包成字典 综合使用 函数 -- 普通参数 函数 -- 参数进一步 -- 指定参数 函数调用时,未指定的参数需要写…

风清扬/基于Java语言的光伏监控系统+光伏发电预测+光伏项目+光伏运维+光伏储能项目

基于Java语言的光伏监控系统光伏发电预测光伏项目光伏运维光伏储能项目 介绍 基于Java语言的光伏监控系统光伏发电系统光伏软件系统光伏监控系统源码光伏发电系统源码 基于Java语言的光伏监控系统光伏发电预测光伏项目光伏运维光伏储能项目 安装教程 参与贡献 Fork 本仓库新…

十分钟搭建一个RTMP服务器

使用SRS搭建RTMP服务器 如果您需要搭建一个RTMP服务器,您可以使用SRS(Simple-RTMP-Server)来完成此任务。SRS是一个开源的RTMP服务器下面是一个简单的步骤指南: 获取srs srs官⽹:https://github.com/ossrs/srs 码云…

软考2024下半年软考报名时间安排及报名流程

简介 软件资格考试也称计算机软件水平考试 [1],是原中国计算机软件专业技术资格和水平考试的完善与发展。是对从事或准备从事计算机应用技术、网络、信息系统和信息服务等专业技术工作的人员水平和能力的测试。这项考试是由国家人力资源和社会保障部、工业和信息化…

【通信协议】I2C总线(一主多从)

目录 I2C简介 硬件电路 软件模拟初始化 基本单元 起始信号 停止信号 发送一个字节 接收一个字节 发送应答 接收应答 I2C基本单元代码 MyI2C.h MyI2C.c 完整数据帧 学习资料分享 本博客使用软件模拟的代码进行I2C总线​​​​​​(总线指多个设备共用…

【Python机器学习系列】使用Hyperopt搜索随机森林分类模型最优超参数(案例+源码)

这是我的第342篇原创文章。 一、引言 Hyperopt是一个强大的python库,用于超参数优化,由jamesbergstra开发。Hyperopt使用贝叶斯优化的形式进行参数调整,允许你为给定模型获得最佳参数。它可以在大范围内优化具有数百个参数的模型。 在本节中…

Vue3.0生命周期钩子(包含:Vue 2.0 和 Vue 3.0)

1、Vue 2.0 生命周期钩子 每个应用程序实例在创建时都有一系列的初始化步骤。例如,创建数据绑定、编译模板、将实例挂载到 DOM 并在数据变化时触发 DOM 更新、销毁实例等。在这个过程中会运行一些叫做生命周期钩子的函数,通过这些钩子函数可以定义业务逻…