基础知识(操作系统)

局部性原理

磁盘预读(预读长度一般是页(page)的整数倍)

页:相对物理块来说,页是逻辑地址空间(虚拟内存空间)的划分,是逻辑地址空间顺序等分而成的一段逻辑空间,并依次连续编号。页的大小一般为 512B~8KB。
例如:一个 32 位的操作系统,页的大小设为 2^12=4Kb,那么就有页号从 0 编到 2^20 的那么多页逻辑空间。

操作系统往往将主存和磁盘存储区分割为连续的大小相等的块,每个存储块称为一页,主存和磁盘以页为单位交换数据。

何为索引

索引是一种用于快速查询和检索数据的数据结构。常见的索引结构有: B 树, B+树(MySQL使用此结构)和 Hash。索引也是文件,需要存储在文件系统中。

索引作用

索引的目的在于提高查询效率,可以类比字典,有点像目录,如果要查“mysql”这个单词,我们肯定需要定位到m字母,然后从下往下找到y字母,再找到剩下的sql。如果没有索引,那么你可能需要把所有单词看一遍才能找到你想要的。

优缺点

优点——查询速度快

1.通过创建唯一索引,可以保证数据库每一行数据的唯一性
2.可以大大提高查询速度
3.可以加速表与表的连接
4.可以显著的减少查询中分组和排序的时间。

缺点——维护效率低

1.创建索引和维护索引需要时间,而且数据量越大时间越长。
2.创建索引需要占据磁盘的空间,如果有大量的索引,可能比数据文件更快达到最大文件尺寸。
3.当对表中的数据进行增加,修改,删除的时候,索引也要同时进行维护,降低了数据的维护速度。

最左前缀原则

参考