概述

数据库的内容存储在硬盘上,而硬盘的数据组织方式是默认1024Byte/块,因此数据库的每次查询都会涉及到许多不相关的元组数据,产生了不必要的开销。因此需要特定的数据组织方式。

堆文件 heap file

堆就是不停地在文件末尾增加数据,读取文件时从头读到尾,直到找到特定数据。

直接文件 direct file

直接文件可以通过索引来查找其中数据,因此无需大量查找。 :::info 例如,对于一个频繁通过姓名查找电话号码的表,使用直接文件存储更加合适。 :::

堆/簇 与 B+树索引 的结合 index + heap/cluster

这种文件组织方式下:

  • 需要进行大量元组查询时,使用堆的方式遍历
  • 需要特定元组时,使用B+树索引来查找
  • 需要范围查询时,利用B+树索引的双向链表进行范围查询

raw disk

raw disk可以超越操作系统的文件组织方式,一次性申请连续的一大块存储空间,并且按照自己的方式来组织文件。
由于是连续地存储的数据,在进行相关查询时可以省下很多开销。这种存储方式也叫cluster,簇。
簇数据一定是不常更新的,因为簇连续的存储方式,维护开销会较高。