MySQL数据文件的组织
1 字段的表示

Name

Address

Gender

Birthday

Bob

previlige

M

19/06/1992

Mary

malloand

F

20/02/2003

每个字段均被SQL定义成具体的数据类型,表示成一定长度的字节序列。

字段名

类型

长度

Name

Char(30)

30个字节

Address

Varchar(256)

0到256个字节

Gender

Char(1)

1个字节

Birthday

date

3个字节

2 记录的表示

定长记录:它所包含的所有字段均为定长。

mysql 组织机构对照映射表 mysql组织数据采用什么_数据仓库


其中:字段前面保存的是记录的头信息。

注:由于数据需要经常移动到内存中进行处理,而内存的寻址方式是以4的倍数进行的,因此,定长记录中每个字段长度都需要被拓展成4的倍数。

变长记录:允许它包含变长字段有多种表示方法。

mysql 组织机构对照映射表 mysql组织数据采用什么_字段_02

注:头信息中的指针指向每一个变长字段的存储地址

3 记录集合的存储结构
  • 物理邻接存储
  • 利用指针连接存储
4 数据文件的组织形式

应用不同而有多种组织形式:堆文件,顺序文件,散列文件,聚簇文件,按列存储。

组织形式

存储方式

优点

缺点

顺序文件

记录按某个搜索码的值的顺序进行存储

按搜索码进行检索,效率非常高

当频繁插入和删除元组时,文件的维护困难

散列文件

直接存取文件或哈希文件,利用哈希函数,将具有相同搜索码值的记录散列到外存(通常是磁盘上)的同地址范围中

记录随机存放,不需进行排序,所以插入、删除方便,存取速度快,不需要索引区,节省存储空间

支持按搜索码的随机查询;哈希函数的选择不是一件容易的事情,选择不当就会造成桶的偏斜

聚簇文件

每块可存贮多个有关联的关系

支持高效率的多表连接查询

降低单表查询的效率

按列存储

适应统计查询及OLAP应用的存储方式

减少无用数据的读入量;利用数据压缩减少访问被盘的次数。

-

按列存储用于数据仓库,记录数据仓库的数据,不再进行数据的增删改操作,而且基于数据仓库的数据分析基本上是基于维度的,因此将数据仓库中的大表拆分成若干个独立的小表,每个小表单独存储,这就意味着每个磁盘块只存储一列数据,这对于按维度进行数据检索非常有利。