前言:众所周知,数据库就是一个将各类数据,以表格的形式存储的,但是看似如此简单的功能它是真的简单吗?我们和直接使用简单的Excel建立的表格有区别吗?如果有在哪里?...PS:本文以常用的MySQL为例
磁盘IO
在不考虑缓存等机制(数据IO)的前提下,首先我们知道,对于用户来说他使用数据时,会和其内部的存储设备,一般为磁盘(当然也有固态之类的更高效的存储设备,但是数据库一般是部署在服务端...-CSDN博客
在浅浅的了解了数据IO后我们大概有如下认知:
MySQL 中的数据文件,是以page为单位保存在磁盘当中的。...为何更高的效率,一定要尽可能的减少系统和磁盘IO的次数
数据的存储
现在我们知道了数据库是数据文件的,但是又有一个新问题,那他是如何管理这些不同的page的呢?
链表?线性遍历
二叉搜索树?...下图为 MyISAM表的主索引, Col1 为主键。
其中, MyISAM 最大的特点是,将索引Page和数据Page分离,也就是叶子节点没有数据,只有对应数据的地址。