先看两张图,了解一下从磁盘读取和存放数据的大致描述。
- 读取数据
读取数据
上图展示的是,磁盘中数据是如何存放的,即每道扇区的字节数为512B,那么按照上图的情况。
- 数据存储
数据存储
上图表示,如果用户表中,每一条记录大小为128Byte,而一个block为512Byte,所以读一次最多可以拿到4条记录,而假设需要读取100条记录的话 ,需要读取 100/4 = 25 次。
当数据查询引入索引
- 引入索引
引入索引
即类似查字典一样,创建一种新的格式内容,只记录id和具体的block地址位置,那么每当需要查询的时候就去先去找这个index表,然后再去具体的block查询具体的记录内容,因为index表每条记录占用空间较小,所以需要读取的次数就会变得很少。
- 引入二阶索引
二阶索引
对于一阶索引的情况,如果数据量大了其实查询效率还是会大大增加的,那么如果按照一阶索引的情况,我们给索引表再建立二阶索引表,就又可以解决这样的一个问题了。
以此类推,不断添加索引层,以提升查找速率。
- 转换为树的形式
转换为树的形式
如果觉得有收获,欢迎点赞和评论,更多知识,请点击关注查看我的主页信息哦~