MySQL数据文件的组织

MySQL数据文件的组织
1 字段的表示
NameAddressGenderBirthday
BobpreviligeM19/06/1992
MarymalloandF20/02/2003

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

字段名类型长度
NameChar(30)30个字节
AddressVarchar(256)0到256个字节
GenderChar(1)1个字节
Birthdaydate3个字节
2 记录的表示

定长记录:它所包含的所有字段均为定长。
image
其中:字段前面保存的是记录的头信息。

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

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

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

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

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

组织形式存储方式优点缺点
顺序文件记录按某个搜索码的值的顺序进行存储按搜索码进行检索,效率非常高当频繁插入和删除元组时,文件的维护困难
散列文件直接存取文件或哈希文件,利用哈希函数,将具有相同搜索码值的记录散列到外存(通常是磁盘上)的同地址范围中记录随机存放,不需进行排序,所以插入、删除方便,存取速度快,不需要索引区,节省存储空间支持按搜索码的随机查询;哈希函数的选择不是一件容易的事情,选择不当就会造成桶的偏斜
聚簇文件每块可存贮多个有关联的关系支持高效率的多表连接查询降低单表查询的效率
按列存储适应统计查询及OLAP应用的存储方式减少无用数据的读入量;利用数据压缩减少访问被盘的次数。-

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值