美文网首页
为什么mysql优化要尽量保证顺序读?

为什么mysql优化要尽量保证顺序读?

作者: Rena的秘密 | 来源:发表于2022-09-22 11:55 被阅读0次

因为顺序读取磁盘数据比随机读取磁盘数据快的多,相差几十-几百的数量级。(40-400倍)

磁盘图如下:

进行磁盘读取的过程:

1.先寻找数据所在柱面号、盘片号、扇区号,从而定位到数据所在扇区(所用的时间称为寻道时间,时间最久)

2.然后盘面旋转到刚才定位的扇区所在位置,磁头读取数据(所用的时间称为旋转时间)

3.最后把读取的数据传输出去(所用的时间称为传输时间)

所以磁盘IO时间=寻道时间+旋转时间+传输时间

磁盘预读:每次读取为一页(一般4kb大小),可能包含几个扇区(一般512bit)。

如果顺序读取的话,可以省略寻道时间,把相邻的几个扇区都读取出来。如果随机读取,每次读取数据,都需要重复以上3个步骤,耗费时间更久。

例子:

计算机中存储一个二维数组是按行存储的,当前例子类按行读取类似与顺序读,按列读取类似与随机读,并不是存储到磁盘上了,只是验证一下顺序读和非顺序读的差别之大。

磁盘文件、内存都是顺序读速度快于随机读的。

相关文章

  • 为什么mysql优化要尽量保证顺序读?

    因为顺序读取磁盘数据比随机读取磁盘数据快的多,相差几十-几百的数量级。(40-400倍) 磁盘图如下: 进行磁盘读...

  • [数据库][mysql]: 索引优化

    为什么要优化mysql 从几个方面优化 常见的jion链接 常见的jion链接 如何优化mysql 索引简介 是什...

  • 「mysql优化专题」这大概是一篇最好的mysql优化入门文章(

    【mysql优化专题】:本专题全文围绕mysql优化进行全方位讲解,本篇为优化入门篇,让大家知道为什么要优化,究竟...

  • SQL执行与优化

    SQL优化 执行计划,表关联查询顺序,优化策略与思路 MYSQL执行过程 一、MySQL架构总览: 二、查询执行流...

  • 数据库

    mysql: 优化方法: 1,sql语句的优化: 在where中尽量避免使用!= 在where中对null...

  • MySQL Server优化

    1、MySQL内存管理及优化 1.1、内存优化原则 (1)将尽量多的内存分配给MySQL做缓存,但要给操作系统和其...

  • mysql调优从书写sql开始

    理论知识 MySQL 的运行机制 Mysql 的SQL关键字执行顺序 1、MySQL 的优化方案有哪些? 1、My...

  • SQL语句优化

    MySQL和Oracle 阿里开发强制要求的11条SQL编写规范 MySQL大表优化 应尽量避免在 where 子...

  • MySQL-lesson12-优化

    MySQL-lesson12-优化 1.优化哲学 1.1 为什么优化? 1.2 优化风险 1.3 谁参与优化 1....

  • mysql 索引优化

    索引的存储分类 索引的创建与删除 索引查看 mysql常用语句优化技巧定期优化表 常用优化 2.应尽量避免在whe...

网友评论

      本文标题:为什么mysql优化要尽量保证顺序读?

      本文链接:https://www.haomeiwen.com/subject/ktknortx.html