MySQL读取数据时发生了什么

I前言

我们说到B+树拼接一己之力杀出重围,最后成为了InnoDB和MyISAM这两种存储引擎的索引实现。我们都知道索引心里是有B+树的,他知道自己不可能全部存储在内存中,他一般是以「索引文件的形式存储的磁盘上」。那么MySQL读取数据时都发生了什么呢?这得从内存开始说起。

IRAM与ROM

ROM,Read-OnlyMemory:只读储存器,可以理解为电脑的硬盘上存放操作系统的软件,手机的内置储存上存放操作系统的软件,单片机的Flash上存放操作系统的软件。总之就是用来存储操作系统的软件。

RAM,Random-AccessMemory:随机储存器,可以理解为电脑的内存条。用于存放动态数据,也叫运行内存。系统运行的时候,需要把操作系统从ROM中读取出来,放在RAM中运行。

CPU要运行程序需要从ROM调取,但ROM又有距离,所以需要用RAM来做一个连接。

I主存存储原理

RAM主要的作用就是存储代码和数据供CPU在需要的时候调用,但是这些数据并不是像用碗盛饭那么简单,我们是需要知道数据的特定位置信息。他更像是图书馆中用有格子的书架存放书籍一样,不但要放进去还要能够在需要的时候准确的调用出来,虽然都是书但是每本书是不同的。对于RAM等存储器来说也是一样的,虽然存储的都是代表0和1的代码,但是不同的组合就是不同的数据。  

抽象地看,主存是一系列的存储单元组成的矩阵,每个存储单元存储固定大小的数据。每个存储单元有唯一的地址,现代主存的编址规则比较复杂,这里将其简化成一个二维


转载请注明:http://www.aierlanlan.com/cyrz/2702.html