01、目标
1、磁盘操作
2、数据在磁盘中是如何存储的
3、什么是索引
4、什么是多重索引
5、二叉树和多叉树
6、BTree是什么
7、BTree的基本操作
8、B+Tree和B-Tree的区别
02、概述
02-01、磁盘认识
参考文献1:https://www.sohu.com/a/449063502_355142
参考文献2:https://blog.csdn.net/Rong_Toa/article/details/113727981
注意磁盘读取数据的时候,是按照每扇区来读取数据的,
每个扇区在标准的机械硬盘是:512byte。
比如执行一个查询或者读取操作系统的某个文件到内存中,
CPU会直接从磁盘中直接以block块
的方式读取到内存中。block块就可能是一次I/O寻道磁盘的总字节数(也可以理解读取一次读取了多少个扇区数据)加载到内存中,(一个block占用512byte
)
以前面的innodb默认是:读取16kb。
就是直接加载16kb的block数据到内存,如果这个时候每个扇区是2KB 那么就要在磁盘中转8次扇区就把数据加载到了内存中。
如果理解block呢:就理解java中的数组就对了。就是一个连续存储磁盘数据的一块区域