为什么 MySQL 选择 B+树作为存储引擎索引结构( 三 )
1.易失性存储:
典型代表内存
2.非易失性存储:
典型代表硬盘(磁盘) , 尤其是早期的机械硬盘
关于二者的详细对比 , 大家可以参考下图:
本文插图
首先 ,
通过上图的对比 , 我们大致可以确定了 , 我们期望的存储介质就是硬盘(主要是机械硬盘)了 。 因为它很符合我们所寻找的几个特点 。 但我们都知道硬盘虽然符合我们的要求 , 但硬盘有着它先天结构的限制 。
访问磁盘的速度要比访问内存慢的多 。
到这儿也就不得不提一下 , 关于机械硬盘它的构成了 。 关于机械硬盘的简单介绍 , 我们在下面的扩展内容中进行简要介绍 , 大家感兴趣可以进行阅读 , 已经掌握的读者可以直接跳过这部分虚线框中的内容 。
扩展内容
本文插图
上图关于磁盘介绍的图片摘自本篇文章 。
普通的机械硬盘读写数据主要是通过移动磁头到对应的磁道 , 然后再旋转磁头到对应的扇区 。 最后进行移动磁头进行读写数据 。
简单说:一次硬盘数据读写主要包括三大部分耗时:
寻道时间
、
旋转时间
、
传输时间
。 而在这其中
寻道时间
主要占大头 , 主要是因为磁头的移动主要是马达通过驱动磁臂近而移动磁头 , 这个运动属于机械运动 , 所以速度相对较慢 。
对磁盘而言 , 磁盘的访问肯定是要比内存慢的 。 但是在磁盘访问时 , 又有两种访问方式:
1. 随机 IO
2. 顺序 IO
顺序 IO 的访问速度要远远快于随机 IO , 其根本原因是:顺序 IO 主要减少了磁头的移动频率 , 也就是减少了
寻道时间
。 所以它的性能要比随机 IO 要快很多 。
由于篇幅有限 , 关于硬盘的介绍我们就不过多展开了 , 不然就跑题了 。 有了上述的知识 , 我们就足以开展我们后续的内容了 。 关于硬盘的详细内容介绍 , 大家可以自行找其他资料学习或者点击本篇文章进行阅读 。 下面我们继续介绍我们的主要内容 。
其次 ,
我们既然选择了硬盘做存储媒介 ,
那就必须想办法克服这个问题
。 下面这张图详细描述了
内存访问速度和磁盘访问速度
的对比结果 。
本文插图
下面我们简单总结下 , 抛出我们在这块得出的
结论
:
结论1可以参考扩展内容详细了解 。
1.磁盘访问时间:寻道时间+旋转时间+传输时间:
寻道时间:8ms~12ms
- 三星|流畅用三年,两千价位机型,为什么说这款最值得买?
- 亚马孙热带雨林|“地球之肺”亚马逊雨林,为什么是人类禁区?到底有多恐怖?
- 数字货币|为什么都抢着搞元宇宙?数字货币未来或会遍及全球,改变世界格局
- 行星|为什么NASA要重返月球?答案会是这样的?
- 霍金|宇宙大爆炸之前什么都没有?霍金为什么这么说?答案很奇妙
- 飞利浦·斯塔克|MySQL统计总数就用count,别花里胡哨的《死磕MySQL系列 十》
- 癌细胞|为什么自然界中的动物不怕生肉的寄生虫,反而怕受伤呢?
- ai|为什么健身爱好者都选择FITURE魔镜?各款智能健身镜对比横评!
- 火山|水火不容,那么海底的火山爆发,海水为什么浇不熄灭呢?
- 太空|坐火箭去太空旅行要7500万,为什么这么贵?看完就明白了!