【MySQL进阶之路】磁盘随机读写和顺序读写对MySQL性能的影响

欢迎关注公众号(通过文章导读关注:【11来了】),及时收到 AI 前沿项目工具及新技术的推送!

在我后台回复 「资料」 可领取编程高频电子书
在我后台回复「面试」可领取硬核面试笔记

文章导读地址:点击查看文章导读!

感谢你的关注!

在这里插入图片描述
当 MySQL 进行数据的增删改查时,会进行磁盘的随机读写顺序读写

先来说一下磁盘的随机读写

上边我们已经说到了表空间的概念,如果对表空间中的数据进行修改的话,那么最后落到磁盘上去就是磁盘的随机读写,因为表空间中的数据在执行了很多插入和删除操作之后,数据在磁盘中存储的位置并不是一直顺序存储的,因此只能使用 随机读写 去修改磁盘中的数据

因此随机读写的速度对 MySQL 的性能有着很大的影响,磁盘随机读的速度主要由两个指标进行观察:IOPS、响应延迟

  • IOPS:指的是每秒可以执行多少个磁盘随机读写操作。在对 MySQL 压测的时候,可以通过 dstat -r 来观察磁盘每秒可以执行的随机读写次数
  • 响应延迟:假如磁盘支持每秒 200 个随机读写操作,响应延迟指的是每个操作的耗时,耗时越低,SQL 语句执行的性能就越高

因此,在部署 MySQL 的机器上推荐使用 SSD 固态硬盘,相比于机械硬盘来说有着更好的随机读写的性能!

接下来说一下磁盘的顺序读写

对 redo log、bin log、undo log 这些日志文件的读写是磁盘的顺序读写,只要不停的向日志文件末尾追加数据就可以了,因此磁盘的顺序读写速度是是很快的,几乎可以和内存操作速度相当

并且还有 os cache 机制,先将写入日志的数据写到 os cache 中,这部分是在内存中的,之后再落入磁盘中去

而每次对 MySQL 的操作,都会记录到日志中去,因此日志中的顺序读写操作也决定着 MySQL 的性能!

而磁盘的顺序读写的性能最核心的指标就是 磁盘每秒读写数据的吞吐量 ,通过吞吐量的大小决定着磁盘写日志文件的性能,从而决定 SQL 语句的执行性能

下图为磁盘随机读写、顺序读写、内存读写的性能对比:

请添加图片描述

总结一下,一条 SQL 的写入伴随着磁盘的随机读写和顺序读写,因此这两个的速度对 MySQL 的性能影响是很大的!

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

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

相关文章

CSP-202009-1-称检测点查询

CSP-202009-1-称检测点查询 解题思路 本题的时间复杂度貌似没有限制&#xff0c;直接暴力枚举就能知识盲点&#xff1a;sort()函数-升序排序 #include <algorithm>给名为dis&#xff0c;长度为n的数组排序sort(new_dis, new_dis n); #include <iostream> #inc…

【c语言进阶】自定义类型-枚举+联合(共用体)详解

目录 1.枚举 1.1枚举类型的定义 1.2枚举常量的创建和初始赋值 2.枚举的优点 3.枚举的使用 4. 联合&#xff08;共用体&#xff09; 4.1 联合类型的定义 4.2 联合体的特点 4.3联合体大小的计算 4.4联合体的运用-判断程序的大小端存储 5.结语 1.枚举 枚举顾名思义就…

JAVA设计模式之建造者模式详解

建造者模式 1 建造者模式介绍 建造者模式 (builder pattern), 也被称为生成器模式 , 是一种创建型设计模式. 定义: 将一个复杂对象的构建与表示分离&#xff0c;使得同样的构建过程可以创建不同的表示。 **建造者模式要解决的问题 ** 建造者模式可以将部件和其组装过程分开…

大数据应用对企业的价值

目录 一、大数据应用价值 1.1 大数据技术分析 1.2 原有技术场景的优化 1.2.1 数据分析优化 1.2.2 高并发数据处理 1.3 通过大数据构建新需求 1.3.1 智能推荐 1.3.2 广告系统 1.3.3 产品/流程优化 1.3.4 异常检测 1.3.5 智能管理 1.3.6 人工智能和机器学习 二、大数…

降准是什么意思?降准对股市有哪些影响?

降准是什么意思 降准&#xff0c;全称为“中央银行调低法定存款准备率”&#xff0c;是指中央银行降低法定存款准备率&#xff0c;以增加银行的可用资金&#xff0c;从而增加市场的流动性。 具体来说&#xff0c;存款准备金是商业银行为了应对储户取款和清算时准备的资金&…

【MySQL进阶之路】MySQL 中表空间和数据区的概念以及预读机制

欢迎关注公众号&#xff08;通过文章导读关注&#xff1a;【11来了】&#xff09;&#xff0c;及时收到 AI 前沿项目工具及新技术的推送&#xff01; 在我后台回复 「资料」 可领取编程高频电子书&#xff01; 在我后台回复「面试」可领取硬核面试笔记&#xff01; 文章导读地址…

火车可视化调车系统

列车在调车作业时&#xff0c;当机车头在尾部推动车厢时&#xff0c;司机室一人操控机车&#xff0c;车厢前端配备两名挂梯随车运行调车员&#xff0c;调车员人为分析行车方向是否有障碍、轨道行人等紧急情况&#xff0c;通过对讲机通知司机控制停车。由于司机无法直观观察列车…

django admin 自定义界面时丢失左侧导航 nav_sidebar

只显示了自定义模板的内容&#xff0c;左侧导航没有显示出来。 原因&#xff1a;context 漏掉了&#xff0c;要补上。 # 错误写法&#xff08;左侧导航不显示&#xff09;def changelist_view(self, request, extra_contextNone):form CsvImportForm()payload {"form&qu…

C语言指针运算

指针运算 指针加法意味着地址向上移动若干个目标指针减法意味着地址向下移动若干个目标示例&#xff1a; int a 100; int *p &a; // 指针 p 指向整型变量 aint *k1 p 2; // 向上移动 2 个目标&#xff08;2个int型数据&#xff09; int *k2 p - 3; // 向下移动 3 个…

无广告iOS获取设备UDID 简单方便快捷

ps&#xff1a; 为啥不用蒲公英了&#xff0c;就是因为有广告了&#xff0c;获取个UDID还安装游戏&#xff0c;真恶心?&#xff0c;所以找了新的获取UDID都方法&#xff0c;网页直接获取就可以&#xff0c;不会安装软件。 UDID 是一种 iOS 设备的特殊识别码。除序号之外&…

形态学算法之边界提取的简单python实现——图像处理

原理 图像处理中的边界提取是一项基本而重要的任务&#xff0c;主要用于识别和提取图像中物体的轮廓或边界。 具体流程 1.边缘检测 边界提取的第一步通常是边缘检测。边缘是图像亮度变化显著的地方&#xff0c;是物体与背景或不同物体间的分界线。边缘检测算法通过识别图像中…

基于高通滤波器的ECG信号滤波及心率统计matlab仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 ECG信号简介 4.2 高通滤波器原理 4.3 心率统计 5.完整工程文件 1.课题概述 通过高通滤波器对ECG信号进行滤波&#xff0c;然后再统计其心率。 2.系统仿真结果 3.核心程序与模型 版本&#xff1a…